📅  最后修改于: 2023-12-03 15:24:00.724000             🧑  作者: Mango
如果你需要在 SQLite 数据库中导入 CSV 文件,你可以使用 Python 的标准库 csv
和 SQLite3 驱动程序。
首先,使用 SQLite3 驱动程序的 connect()
方法创建一个 SQLite 数据库连接,然后创建一个表格来存储 CSV 文件中的数据。以下是一个示例代码:
import sqlite3
conn = sqlite3.connect('mydatabase.db')
cursor = conn.cursor()
# 创建表格
cursor.execute('''CREATE TABLE mytable
(id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER,
gender TEXT)''')
这将创建一个名为 mydatabase.db
的 SQLite 数据库并在其中创建一个名为 mytable
的表格。
要从 CSV 文件中导入数据,你需要使用 Python 的标准库 csv
中的 reader()
方法读取 CSV 文件。以下是一个示例代码:
import csv
with open('mydata.csv', newline='') as csvfile:
reader = csv.reader(csvfile)
next(reader) # 跳过标题行
for row in reader:
print(row)
这将打开名为 mydata.csv
的 CSV 文件,并将其读取为一个迭代器对象 reader
。使用 next()
方法跳过标题行,然后打印 CSV 文件中的每一行。
将数据导入 SQLite 数据库的最后一步是使用 SQLite3 驱动程序的 execute()
方法执行 INSERT INTO
语句。以下是一个示例代码:
import sqlite3
import csv
conn = sqlite3.connect('mydatabase.db')
cursor = conn.cursor()
# 创建表格
cursor.execute('''CREATE TABLE mytable
(id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER,
gender TEXT)''')
# 导入 CSV 文件中的数据
with open('mydata.csv', newline='') as csvfile:
reader = csv.reader(csvfile)
next(reader) # 跳过标题行
for row in reader:
cursor.execute("INSERT INTO mytable (name, age, gender) VALUES (?, ?, ?);", (row[0], row[1], row[2]))
# 提交更改
conn.commit()
这将读取名为 mydata.csv
的 CSV 文件,并将每行数据插入 mytable
表格中。最后,使用 commit()
方法提交更改。
使用 Python 在 SQLite 数据库中导入 CSV 文件需要执行以下步骤:
这些步骤可以通过 Python 的标准库 csv
和 SQLite3 驱动程序完成。