Python中使用SQLite导入和导出CSV数据

Python中使用SQLite导入和导出CSV数据

Python中使用SQLite导入和导出CSV数据

SQLite是一种轻量级的关系型数据库,常用于移动设备应用程序和小型Web应用程序。在Python中,我们可以使用内置的sqlite3模块来与SQLite数据库进行交互。本文将介绍如何使用Python将数据导入和导出CSV文件。

导入CSV数据到SQLite数据库

首先,我们需要创建一个SQLite数据库并建立一个表来存储CSV文件中的数据。接下来,我们将读取CSV文件中的数据,并将其插入到SQLite表中。

import sqlite3
import csv

# 创建SQLite数据库
conn = sqlite3.connect('example.db')
cursor = conn.cursor()

# 创建表
cursor.execute('''
    CREATE TABLE IF NOT EXISTS data (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        name TEXT,
        email TEXT
    );
''')

# 读取CSV文件并插入数据
with open('data.csv', 'r') as file:
    reader = csv.reader(file)
    next(reader)  # 跳过标题行
    for row in reader:
        cursor.execute('INSERT INTO data (name, email) VALUES (?, ?)', row)

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

在上面的示例中,我们首先使用sqlite3模块打开一个SQLite数据库连接,并创建一个名为data的表。然后,我们打开一个CSV文件并逐行将数据插入到表中。最后,我们提交更改并关闭连接。

运行以上代码后,数据将成功导入到SQLite数据库中。

导出SQLite数据到CSV文件

类似地,我们也可以使用Python将SQLite数据库中的数据导出为CSV文件。以下示例展示了如何查询数据库中的数据,并将其写入到CSV文件中。

import sqlite3
import csv

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

# 查询数据
cursor.execute('SELECT * FROM data')
rows = cursor.fetchall()

# 写入CSV文件
with open('output.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerow(['id', 'name', 'email'])
    writer.writerows(rows)

# 关闭连接
conn.close()

在上面的示例中,我们首先查询SQLite数据库中的所有数据,并将结果存储在rows变量中。然后,我们打开一个CSV文件并将数据写入文件中。最后,我们关闭数据库连接。

运行以上代码后,数据将成功导出为CSV文件。

结论

在本文中,我们介绍了如何使用Python将数据导入和导出SQLite数据库和CSV文件。通过使用sqlite3模块和csv模块,我们可以方便地在Python中处理数据库和文件操作。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程