python 连接mysql批量sql查询并导出成excel 您所在的位置:网站首页 mysql批量执行脚本并导出结果是什么 python 连接mysql批量sql查询并导出成excel

python 连接mysql批量sql查询并导出成excel

2024-07-18 07:52| 来源: 网络整理| 查看: 265

逻辑: 将配置的所有sql 循环在每一个配置号的mysql连接-库中执行,并分别为每一个连接生成一张标,一个查询sql的结果为1个sheet页用法: 1. 配置多个Mysql连接、库、文件名 2. 配置SavePath存储路径 3. 配置sql, 格式为列表格式 : sheet页名:sql 多个用,隔开  ["sheet页:sql","sheet页2:sql2"] 导出为多个sheet合并到1个文件

代码:

# -*- coding: utf-8 -*- """ [url=home.php?mod=space&uid=267492]@file[/url] : 未映射厂商型号结果导出.py [url=home.php?mod=space&uid=155760]@Project[/url] : pythonToolsProject [url=home.php?mod=space&uid=686208]@AuThor[/url] : aural [url=home.php?mod=space&uid=621973]@Email[/url] : @Time : 2023/9/7 11:17 @Description: """ import time import pandas as pd from openpyxl import Workbook import pymysql # 存储路径 SavePath= '存储路径' # MySQL连接配置 dblist = [ {"env": "文件名", "db_config": { 'host': 'ip', 'port': 3306, 'user': '用户名', 'password': '密码', 'database': '库名' } }, {"env": "文件名", "db_config": { 'host': 'ip', 'port': 3306, 'user': '用户名', 'password': '密码', 'database': '库名' } } ] # 读取 SQL 配置文件 # with open('sql.txt', 'r', encoding='utf-8') as file: # sql_config = file.readlines() sql_config = [ "sheet1: select * from user;", "sheet2: select * from class;" ] def generate(db_config, env): # 创建 Excel 文件 workbook = Workbook() worksheet = workbook.active # 删除默认的空工作表页 default_sheet = workbook['Sheet'] workbook.remove(default_sheet) # 建立数据库连接 connection = pymysql.connect(**db_config) # 遍历每行 SQL 配置 for line in sql_config: line = line.strip() if line: # 解析 sheet 名和 SQL 查询 sheet_name, sql_query = line.split(':') # 执行 SQL 查询 result = pd.read_sql_query(sql_query, connection) # 创建工作表,并在第一行添加标题 worksheet = workbook.create_sheet(sheet_name) worksheet.append(result.columns.tolist()) # 将查询结果写入 Excel for row in result.iterrows(): worksheet.append(row[1].tolist()) # 关闭数据库连接 connection.close() # 保存 Excel 文件 workbook.save(SavePath + '' + env + '-' + time.strftime('%Y-%m-%d_%H_%M', time.localtime( time.time())) + '.xlsx') if __name__ == '__main__': for i in dblist: generate(i["db_config"], i["env"])

PS:excel老版本打开有可能会提示文件错误哦



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有