1

我有一个包含 3 个三列(X、Y、Z)的 sqlite 数据库表。此外,我有一个 csv 文件(带有标题),它有 10 列,但 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 文件(请参阅Importing a CSV file into a sqlite3 database table using Python

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