欢迎访问宙启技术站
智能推送

使用writer()函数在Python中将数据写入SQLite3数据库

发布时间:2024-01-13 18:13:56

在Python中,我们可以使用内置的sqlite3模块来连接和操作SQLite3数据库。其中,sqlite3模块提供了一个Connection类,用于连接到数据库,以及一个Cursor类,用于执行SQL语句。

要将数据写入SQLite3数据库,我们可以使用writerow()函数将数据逐行写入CSV文件,然后使用以下步骤将CSV文件中的数据插入到SQLite3数据库中:

1. 导入必要的模块:

import csv
import sqlite3

2. 连接到SQLite3数据库并创建一个游标:

conn = sqlite3.connect('database.db')  # 连接数据库
cursor = conn.cursor()  # 创建游标

3. 创建表格(可选):

cursor.execute('CREATE TABLE IF NOT EXISTS my_table (id INTEGER, name TEXT, age INTEGER)')

4. 打开CSV文件,读取数据并插入数据库:

with open('data.csv', 'r') as file:
    csv_reader = csv.reader(file)
    next(csv_reader)  # 跳过首行(如果有标题)
    for row in csv_reader:
        cursor.execute('INSERT INTO my_table VALUES (?, ?, ?)', row)

5. 提交更改并关闭连接:

conn.commit()  # 提交更改
conn.close()  # 关闭连接

下面是一个完整的示例,演示如何使用writer()函数将数据写入SQLite3数据库:

import csv
import sqlite3

# 连接到SQLite3数据库并创建游标
conn = sqlite3.connect('database.db')
cursor = conn.cursor()

# 创建表格
cursor.execute('CREATE TABLE IF NOT EXISTS my_table (id INTEGER, name TEXT, age INTEGER)')

# 打开CSV文件,读取数据并插入数据库
with open('data.csv', 'r') as file:
    csv_reader = csv.reader(file)
    next(csv_reader)  # 跳过首行(如果有标题)
    for row in csv_reader:
        cursor.execute('INSERT INTO my_table VALUES (?, ?, ?)', row)

# 提交更改并关闭连接
conn.commit()
conn.close()

这是一个简单的示例,将CSV文件中的数据一行一行地插入到SQLite3数据库中。你可以按照自己的需求修改代码来适应更复杂的写入操作。同时请确保数据库文件存在,并且你具备适当的权限来进行读写操作。