python实现.db数据库转Excel
程序实现
上一篇文章程序实现以下功能:
1.读取一个Excel文件,文件名通过函数传参数传入
2.将文件读取的内容保存到一个数据库文件中
3.数据库的文件名以传入的Excel文件的文件名命名
4.将excel文件的工作簿的名字作为数据库的表单名
5.将Excel文件的第一行作为数据库的列命名
6.将Excel文件的每一个行的内容加入数据库中
这篇文章实现反方向转换的功能:
python
import pandas as pd
import sqlite3
import sys
def sqlite_to_excel(db_file_name, excel_file_name):
try:
# 创建 SQLite 数据库连接
conn = sqlite3.connect(db_file_name)
# 获取数据库中的所有表格名称
tables = pd.read_sql_query("SELECT name FROM sqlite_master WHERE type='table';", conn)['name'].tolist()
# 创建 ExcelWriter 对象,用于写入 Excel 文件
with pd.ExcelWriter(excel_file_name, engine='xlsxwriter') as writer:
# 遍历所有表格,并将每个表格写入 Excel 文件的不同工作表
for table_name in tables:
query = f"SELECT * FROM {table_name};"
df = pd.read_sql_query(query, conn)
df.to_excel(writer, sheet_name=table_name, index=False)
# 关闭数据库连接
conn.close()
print(f"成功将 SQLite 数据库 {db_file_name} 中的表格数据写入 Excel 文件 {excel_file_name}。")
except Exception as e:
print(f"发生错误: {e}")
if __name__ == "__main__":
print("开始将 SQLite 数据库中的数据写入 Excel 文件。")
# 用于测试的 SQLite 数据库文件名,传入的第一个参数
db_file_name = sys.argv[1]
# 用于保存 Excel 文件的文件名,传入的第二个参数
excel_file_name = sys.argv[2]
# 调用函数将数据库中的表格数据写入 Excel 文件
sqlite_to_excel(db_file_name, excel_file_name)