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

使用Python中的sqlite3库进行数据库表格的导出和导入

发布时间:2023-12-25 17:22:40

在Python中,可以使用sqlite3库来进行轻量级的数据库操作。sqlite3库是Python自带的库,无需安装额外的依赖包。

下面是一个简单的例子,演示了如何使用sqlite3库进行数据库表格的导出和导入操作:

1. 导出表格:

import sqlite3
import csv

# 连接到数据库文件
conn = sqlite3.connect('example.db')

# 创建游标对象
cur = conn.cursor()

# 执行查询语句
cur.execute('SELECT * FROM my_table')

# 获取查询结果
rows = cur.fetchall()

# 关闭游标和数据库连接
cur.close()
conn.close()

# 导出查询结果到CSV文件
with open('output.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    writer.writerows(rows)

在上述代码中,首先使用sqlite3库连接到数据库文件,然后创建游标对象,并执行SQL语句查询表格数据。查询结果保存在变量rows中,最后将查询结果导出到output.csv文件。

2. 导入表格:

import sqlite3
import csv

# 连接到数据库文件
conn = sqlite3.connect('example.db')

# 创建游标对象
cur = conn.cursor()

# 创建新表
cur.execute('CREATE TABLE IF NOT EXISTS my_table (col1, col2, col3)')

# 从CSV文件导入数据
with open('input.csv', 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        cur.execute('INSERT INTO my_table VALUES (?, ?, ?)', row)

# 提交事务
conn.commit()

# 关闭游标和数据库连接
cur.close()
conn.close()

在上述代码中,首先使用sqlite3库连接到数据库文件,然后创建游标对象,并使用游标执行SQL语句创建新表。接着,从input.csv文件中读取数据,并使用游标执行SQL语句将数据插入到数据库表格中。最后,通过调用commit()方法提交事务,关闭游标和数据库连接。

需要注意的是,在导入数据时,要根据表格的字段顺序在SQL语句中使用问号 ? 来表示占位符,然后将对应的数据作为参数传入execute()方法。

综上所述,使用sqlite3库可以轻松地进行数据库表格的导出和导入操作。通过这些操作,可以方便地将数据从数据库中导出到CSV文件,或者将CSV文件中的数据导入到数据库表格中。