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

mysql数据库中多张表导出成excel方式

需求:
用于将mysql数据库中的几百张表导出成excel方式
表中有些字段的值是含有双引号和逗号值,比如json值
表中有些字段是汉字内容
导出的excel要求有表的列名
shell对于含有逗号和双引号的值会错乱分割
数据库中某些字段值是化学符号

import pymysql,os,csv,shutil
target_dir=r'C:\Users\XXX\Desktop\excel'
if  os.path.exists(target_dir):
	shutil.rmtree(target_dir)
	os.mkdir(target_dir)
else:
	os.mkdir(target_dir)

myconn=pymysql.connect(host='localhost',port=3306,user='root',password='123456',database='rhtx')
table_sql="select table_name from information_schema.tables where table_schema='rhtx'"
with myconn.cursor() as cursor:
	cursor.execute(table_sql)
	table_name=list(cursor.fetchall())

for name in table_name:
	file_name=name[0]+".csv"
	file_path = os.path.join(target_dir, file_name)
	sql='select * from '+'rhtx.'+name[0]
	with myconn.cursor() as cursor:
		cursor.execute(sql)
		rows=cursor.fetchall()
		with open(file_path, mode='w', newline='',encoding='gbk') as file:
			writer=csv.writer(file)
			writer.writerow([i[0] for i in cursor.description])
			writer.writerows(rows)
myconn.close()
http://www.dtcms.com/a/72854.html

相关文章:

  • 【蓝桥杯速成】| 4.递归
  • CTP开发爬坑指北(九)
  • spring声明式事务原理01-调用第1层@Transactional方法(事务访问入口)
  • [蓝桥杯]花束搭配【算法赛】
  • Ubuntu从源码安装Webots
  • 网络编程、URI和URL的区别、TCP/IP协议、IP和端口、URLConnection
  • MySQL相关参数
  • 【C++多线程】thread
  • SDL3 游戏开发 Windows 环境搭建
  • 介绍如何使用YOLOv8模型进行基于深度学习的吸烟行为检测
  • Matlab 矢量控制和SVPWM的感应电机控制
  • 算法——图论——关键活动
  • Blender插件NodeWrangler导入贴图报错解决方法
  • Docker生存手册:安装到服务一本通
  • Razor C# 变量
  • 数据结构(全)
  • 机器学习 [白板推导](二)[线性回归]
  • 第四章-PHP文件包含
  • JavaScript性能优化的12种方式
  • 【开原宝藏】30天学会CSS - DAY1 第一课
  • SOA(面向服务架构)与微服务架构的区别与联系
  • GreenKGC: A Lightweight Knowledge Graph Completion Method(论文笔记)
  • 开发一个go模块并在其他项目中引入
  • Python学习第十八天
  • 案例驱动的 IT 团队管理:创新与突破之路:第一章 重构 IT 团队管理:从传统到创新-2.1.2关键岗位胜任力模型设计
  • Ubuntu 下有线网络图标消失及无法连接网络的解决方案
  • 怎样用Java实现快速排序与找到数组中第k小的值?
  • 项目经历-笔记
  • 清华大学城市空间具身连续视觉感知问答基准测试!UrbanVideo-Bench:首个针对多模态大模型的运动认知评估数据集
  • python拉取大视频导入deepseek大模型解决方案