1

3つの3つの列(X、Y、Z)を持つs​​qlite-databaseテーブルがあります。さらに、10列のcsvファイル(ヘッダー付き)がありますが、XとYも同じです。Pythonスクリプトを使用してcsvファイルをデータベーステーブルに結合したいと思います。

これまでのところ、db-connectionを確立し、次のようにデータベースに新しい列を作成することができました。

import csv, sqlite3
database = sqlite3.connect("my_sqlitedatabase")
db = database.cursor()
db.execute("ALTER TABLE dbtable ADD COLUMN 'col1' float")
db.execute("ALTER TABLE dbtable ADD COLUMN 'col2' float")
db.execute("ALTER TABLE dbtable ADD COLUMN 'col3' float")

これまでのところ、Pythonで.importを使用するものは何も見つかりませんでした。代わりに、csvファイルを直接読み取る必要があります(Pythonを使用したsqlite3データベーステーブルへのCSVファイルのインポートを参照) 。

csvtable = csv.reader(open('csvtable.txt', 'r'), delimiter=',')

参加するには、次のようなものを使用したいと思います。

UPDATE dbtable SET csvtable_col1=(SELECT dbtable.col1 FROM csvtable AS c 
... WHERE csvtable.X=dbtable.X AND csvtable.Y=dbtable.Y)

pyhtonを使用してcsvテーブルをデータベーステーブルに結合するにはどうすればよいですか?両方が共通の列としてXとYを共有し、両方の組み合わせを結合の一意のキーとして使用できます。両方のテーブルには数100000行があります。csvファイルの行をループする必要がありますか?助言がありますか?

4

0 に答える 0