首页 >后端开发 >Python教程 >如何使用 Python 将 CSV 文件导入 SQLite3 数据库表?

如何使用 Python 将 CSV 文件导入 SQLite3 数据库表?

Barbara Streisand
Barbara Streisand原创
2024-11-28 04:34:09975浏览

How to Import a CSV File into an SQLite3 Database Table with Python?

使用 Python 将 CSV 文件转换为 SQLite3 数据库表

使用“.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 阅读器读取其内容。如果文件的第一行指定了列名,您可以使用 csv.DictReader 将它们映射到字典:

with open('data.csv', 'r') as fin:
    dr = csv.DictReader(fin)

将 CSV 数据转换为列表

转换字典将 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn