python csv导入sqlite
时间: 2023-10-14 16:27:18 浏览: 54
在 Python 中将 CSV 文件导入到 SQLite 数据库中,可以使用 Python 内置的 sqlite3 模块和 csv 模块。
首先,我们需要创建一个 SQLite 数据库并建立一个表格。可以使用以下代码实现:
```python
import sqlite3
# 创建数据库连接
conn = sqlite3.connect('database.db')
# 创建表格
conn.execute('CREATE TABLE IF NOT EXISTS my_table (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')
```
接下来,我们需要打开 CSV 文件并将其读取到内存中。可以使用以下代码实现:
```python
import csv
# 打开 CSV 文件并读取数据
with open('data.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
rows = [row for row in reader]
```
接着,我们可以将数据逐行插入到 SQLite 数据库中。可以使用以下代码实现:
```python
# 插入数据到 SQLite 数据库
for row in rows:
conn.execute('INSERT INTO my_table (name, age) VALUES (?, ?)', (row[0], row[1]))
# 提交更改并关闭数据库连接
conn.commit()
conn.close()
```
完整代码示例:
```python
import sqlite3
import csv
# 创建数据库连接
conn = sqlite3.connect('database.db')
# 创建表格
conn.execute('CREATE TABLE IF NOT EXISTS my_table (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')
# 打开 CSV 文件并读取数据
with open('data.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
rows = [row for row in reader]
# 插入数据到 SQLite 数据库
for row in rows:
conn.execute('INSERT INTO my_table (name, age) VALUES (?, ?)', (row[0], row[1]))
# 提交更改并关闭数据库连接
conn.commit()
conn.close()
```
以上代码可以将名为 `data.csv` 的 CSV 文件中的数据导入到名为 `my_table` 的 SQLite 表格中。注意,CSV 文件中的列顺序应与 SQLite 表格中的列顺序相同。