当前位置: 首页 > news >正文

python将.db数据库文件转成Excel文档

python实现.db数据库转Excel

程序实现

上一篇文章程序实现以下功能:

1.读取一个Excel文件,文件名通过函数传参数传入

2.将文件读取的内容保存到一个数据库文件中

3.数据库的文件名以传入的Excel文件的文件名命名

4.将excel文件的工作簿的名字作为数据库的表单名

5.将Excel文件的第一行作为数据库的列命名

6.将Excel文件的每一个行的内容加入数据库中

这篇文章实现反方向转换的功能:

import pandas as pd
import sqlite3
import sysdef 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)

相关文章:

  • VCG 网格中点细分
  • VMware虚拟机安装macOS
  • 政安晨:示例演绎Python语言的字符串与字典
  • ywtool login guard命令
  • 虚幻5源码版打包服务端
  • React 组件跨层级数据共享:createContext、useContext、useMemo
  • spring boot打完jar包后使用命令行启动,提示xxx.jar 中没有主清单属性
  • ReactNative实现一个圆环进度条
  • Docker进阶篇-Docker网络
  • 用Python Tkinter打造的精彩连连看小游戏【附源码】
  • 毫米波雷达在汽车领域的原理、优势和未来趋势
  • 计算机网络_1.6.3 计算机网络体系结构分层思想举例
  • VC++中使用OpenCV绘制直线、矩形、圆和文字
  • QT 组装json,广播发送
  • Qt之使用Qt内置图标
  • 《剑指offer》分解让复杂问题更简单
  • 【技术性】Search知识
  • Angular 4.x 动态创建组件
  • JAVA多线程机制解析-volatilesynchronized
  • learning koa2.x
  • log4j2输出到kafka
  • PHP的类修饰符与访问修饰符
  • php面试题 汇集2
  • SSH 免密登录
  • 给Prometheus造假数据的方法
  • 缓存与缓冲
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 区块链将重新定义世界
  • 通信类
  • ​ArcGIS Pro 如何批量删除字段
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • !!java web学习笔记(一到五)
  • #define
  • #每日一题合集#牛客JZ23-JZ33
  • %@ page import=%的用法
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (顺序)容器的好伴侣 --- 容器适配器
  • (四)图像的%2线性拉伸
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)树状数组
  • . Flume面试题
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .Net CF下精确的计时器
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .NET Framework .NET Core与 .NET 的区别
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET建议使用的大小写命名原则
  • @Transactional 详解
  • [100天算法】-每个元音包含偶数次的最长子字符串(day 53)
  • [Android Pro] android 混淆文件project.properties和proguard-project.txt
  • [Arduino学习] ESP8266读取DHT11数字温湿度传感器数据
  • [BUG]vscode插件live server无法自动打开浏览器