使用“.import”命令无法将 CSV 文件直接导入 SQLite3 数据库表。但是,这可以通过以下步骤来实现:
使用 sqlite3 模块建立与数据库的连接(内存数据库或基于文件的数据库)数据库):
import sqlite3 con = sqlite3.connect(":memory:") cur = con.cursor()
使用以下命令创建将保存导入数据的表“CREATE TABLE”语句,指定列名称和数据类型:
cur.execute("CREATE TABLE t (col1, col2);")
打开 CSV 文件并使用 CSV 阅读器读取其内容。如果文件的第一行指定了列名,您可以使用 csv.DictReader 将它们映射到字典:
with open('data.csv', 'r') as fin: dr = csv.DictReader(fin)
转换字典将 CSV 读取器中的行插入元组列表:
to_db = [(i['col1'], i['col2']) for i in dr]
在游标对象上使用executemany()方法将元组列表插入到目标表中:
cur.executemany("INSERT INTO t (col1, col2) VALUES (?, ?);", to_db)
将更改提交到数据库以使它们持久化:
con.commit()
最后关闭数据库连接:
con.close()
以上是如何使用 Python 将 CSV 文件导入 SQLite3 数据库表?的详细内容。更多信息请关注PHP中文网其他相关文章!