3つの3つの列(X、Y、Z)を持つsqlite-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ファイルの行をループする必要がありますか?助言がありますか?