You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python将SQLite数据表导出并展示到Excel文件中

Python 导出SQLite数据表到Excel文件

方法一:使用Pandas(推荐,简洁高效)

Pandas能快速完成数据库查询到Excel导出的流程,搭配内置的sqlite3和Excel处理库openpyxl即可实现。

步骤:

  1. 安装依赖库(如果未安装):
pip install pandas openpyxl
  1. 完整代码示例:
import sqlite3
import pandas as pd

# 1. 连接SQLite数据库
conn = sqlite3.connect('your_database.db')  # 替换为你的数据库路径

# 2. 查询数据表内容
# 替换为你要导出的表名,比如 'users'
query = "SELECT * FROM your_table_name;"
df = pd.read_sql_query(query, conn)

# 3. 将数据写入Excel文件
# index=False 表示不写入DataFrame的索引列
df.to_excel('output.xlsx', sheet_name='Sheet1', index=False, engine='openpyxl')

# 4. 关闭数据库连接
conn.close()

print("数据已成功导出到output.xlsx")

代码解释:

  • sqlite3.connect():建立与SQLite数据库的连接,传入数据库文件路径(如果是内存数据库用:memory:)。
  • pd.read_sql_query():直接执行SQL查询并将结果转换为Pandas DataFrame,省去手动处理游标和结果集的麻烦。
  • df.to_excel():将DataFrame写入Excel文件,sheet_name指定工作表名称,engine='openpyxl'支持.xlsx格式(如果导出.xls可以用xlwt,但xlwt仅支持旧格式)。

方法二:使用sqlite3 + openpyxl(手动控制,适合定制需求)

如果需要更精细地控制Excel格式(比如设置单元格样式、合并单元格等),可以直接用openpyxl手动构建工作表。

代码示例:

import sqlite3
from openpyxl import Workbook

# 1. 连接数据库并查询数据
conn = sqlite3.connect('your_database.db')
cursor = conn.cursor()
cursor.execute("SELECT * FROM your_table_name;")

# 获取表头和数据
columns = [desc[0] for desc in cursor.description]
data = cursor.fetchall()

# 2. 创建Excel工作簿和工作表
wb = Workbook()
ws = wb.active
ws.title = 'Sheet1'

# 写入表头
ws.append(columns)

# 写入数据行
for row in data:
    ws.append(row)

# 3. 保存Excel文件
wb.save('output_manual.xlsx')

# 4. 关闭连接
cursor.close()
conn.close()

print("数据已成功导出到output_manual.xlsx")

代码解释:

  • cursor.description:获取查询结果的列名,用于生成Excel表头。
  • cursor.fetchall():获取所有查询结果行。
  • ws.append():向工作表逐行添加数据,表头和数据行都可以用这个方法。

注意事项

  • 替换代码中的your_database.db为实际的SQLite数据库文件路径,your_table_name为要导出的数据表名称。
  • 如果数据库中有特殊数据类型(如二进制数据),可能需要额外处理后再写入Excel,避免导出异常。
  • 操作完成后务必关闭数据库连接,防止资源泄漏。

内容的提问来源于stack exchange,提问作者Yogendran Prakash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 15:35:23