IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> python-读取mysql数据写入EXCEL(三) -> 正文阅读

[大数据]python-读取mysql数据写入EXCEL(三)

作者:>

需求

  • 读取mysql数据,使用SQL过滤数据
  • SQL结果追加数据到EXCEL 文件
# -*- coding: utf-8 -*-
"""
Created on   2021/12/29 16:44

@author: tange
"""

from sqlalchemy import create_engine
import pandas as pd
import time

curr_date = time.strftime("%Y%m%d", time.localtime())
print(curr_date)

res_path = "D:/code_fileAll/test_file/output/"
engine = create_engine("mysql+pymysql://root:root@10.1.60.110:3306/datax?charset=utf8mb4",
                       max_overflow=0,   # 超过连接池大小外最多创建的连接,为0表示超过5个连接后,其他连接请求会阻塞 (默认为10)
                       pool_size=5,      # 连接池大小(默认为5)
                       pool_timeout=30,  # 连接线程池中,没有连接时最多等待的时间,不设置无连接时直接报错 (默认为30)
                       pool_recycle=-1,  # 多久之后对线程池中的线程进行一次连接的回收(重置) (默认为-1)
                       encoding='utf-8',
                       echo=False  # 打印SQL语句
                       )
# 原始数据来源
OriginSql = """
select * from datax.datax_fdl ;
"""

allData = engine.execute(OriginSql)

res_file_name = f"mysql_{curr_date}.xlsx"

# 转化为DataFrame 并添加表头
df = pd.DataFrame(allData, columns=['id', 'lable', 'lable2', 'lable3', 'lable4', 'create_time', 'update_time'])
# 默认填充,会覆盖数据
df.to_excel(res_path + res_file_name
            , index=False
            , sheet_name='mysql'  # 表格名
            , na_rep=0  # 缺失值填充
            , header=None  # 不写入表头或者header=0
            )
# 复制上面的df数据
df2 = df.copy()
# 写入两个sheet内,不在在单一的sheet追加,
# 追加模式 注意engine引擎,官网没写出来,但是不加上,mode报错
with pd.ExcelWriter(res_path + res_file_name, mode='a', engine="openpyxl") as writer:
    df2.to_excel(writer, sheet_name='mysql', index=False)  # 会自动改名为mysql1 ,不用追加模式会覆盖上面的结果
    df2.to_excel(writer, sheet_name='mysql3', index=False)
    writer.close()
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-01-01 13:58:47  更:2022-01-01 14:01:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/28 7:01:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码