ホームページ >バックエンド開発 >Python チュートリアル >Python を使用して CSV ファイルを SQLite データベースにインポートするにはどうすればよいですか?

Python を使用して CSV ファイルを SQLite データベースにインポートするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-09 08:09:021030ブラウズ

How can I import CSV files into SQLite databases using Python?

Python を使用した SQLite データベースへの CSV ファイルのインポート

Python では、sqlite3 モジュールを利用することで、開発者は簡単にインポートできるようになりますCSV ファイルから sqlite3 データベース テーブルにデータを変換します。 「.import」コマンドは直接適用できない場合がありますが、別の方法でこのタスクを簡単に実行できます。

コード例:

インポート プロセスを説明するには、次の Python を考えてみましょう。コード:

import csv, sqlite3

# Connect to the database (in-memory or file) and create a cursor
con = sqlite3.connect(":memory:") # change to 'sqlite:///your_filename.db'
cur = con.cursor()
cur.execute("CREATE TABLE t (col1, col2);") # use your column names here

# Open the CSV file for reading
with open('data.csv','r') as fin:
    # Create a DictReader object to read data from the CSV file
    dr = csv.DictReader(fin) # comma is default delimiter
    # Convert CSV data into a list of tuples for database insertion
    to_db = [(i['col1'], i['col2']) for i in dr]

# Execute the insert query using executemany to efficiently import data
cur.executemany("INSERT INTO t (col1, col2) VALUES (?, ?);", to_db)

# Commit changes to the database
con.commit()

# Close the connection and cursor
con.close()

説明:

  • sqlite3.connect() を使用して SQLite データベースに接続し、クエリを実行するためのカーソルを作成します。
  • CREATE TABLE を使用してデータベースにターゲット テーブルを作成しますステートメント。
  • with ステートメントを使用して、読み取り用に CSV ファイルを開きます。
  • CSV ファイルからデータを読み取るには、csv.DictReader を使用します。列名をそれぞれの値に自動的にマッピングします。
  • データベースに効率的に挿入できるように、データをタプルのリストに変換します。
  • executemany を使用して、複数の行を同時にインポートします。
  • 変更をコミットしてデータベース内のデータを永続化します。
  • 接続とカーソルを閉じて解放します。リソース。

以上がPython を使用して CSV ファイルを SQLite データベースにインポートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。