前言

业务需要从数据库导出数据为excel,并设置成自动化。这里用pandas写的数据导入导出,还算方便。配合crontab + shell脚本使用,每天晚上自动生成excel,然后cp到指定目录。shell脚本比较简单就不展示了,下面是python代码。

PS:如果服务器网络隔离不方便安装依赖,可以用pyinstaller打包成可执行文件。

安装依赖

pip install pandas sqlalchemy pymysql openpyxl -i https://mirrors.aliyun.com/pypi/simple

code

import pandas as pd
from sqlalchemy import create_engine # 创建连接器
engine = create_engine("mysql+pymysql://username:password@ip:port/db_name") def get_yesterday():
"""获取昨天的日期"""
today=datetime.date.today()
oneday=datetime.timedelta(days=1)
yesterday=today-oneday
return yesterday start_time = get_yesterday().isoformat() + " " + "08:00:00"
end_time = get_yesterday().isoformat() + " " + "21:00:00" # SQL语句
# 指定日期时间
sql1 = """
select *
from cdr_2019_copy1
where start_time>="2019-07-02 08:55:00" and end_time < "2019-07-02 09:00:00";
"""
# 动态语句
sql2 = 'select * from cdr where start_time >= "' + start_time + '" and end_time < "' + end_time + '" ;' # 读取数据库数据为dataframe
df1 = pd.read_sql(sql,engine)
print(df1) # 导出为excel文件
filename = get_yesterday().strftime("%Y%m%d") + ".xlsx"
df2.to_excel(filename, index=False)

打包

pyinstaller -F -p C:\software\python\Lib\site-packages hello.py

如果用到了pymysql库,最好指定site-packages的目录位置。

pandas读取mysql并导出为excel的更多相关文章

  1. MySQL要导出成excel的方法

    MySQL 要导出成 excel 文件很简单,执行类似这样的命令:   select * from 某个表 into outfile  'd:/文件名.xls';   上述命令你在服务器上执行,就导在 ...

  2. pandas读取MySql/SqlServer数据 (转)

    在 Anacondas环境中,conda install pymssql ,一直报包冲突,所以采用先在 https://www.lfd.uci.edu/~gohlke/pythonlibs/#nump ...

  3. MySQL数据导出为Excel, json,sql等格式

    MySQL数据经常要导出为Excel, json,sql等格式,通过步骤都很多,麻烦,现在通过Treesoft可以方便的导出你要的数据格式. 1.在线执行SQL,在数据列表中有相应按钮,方便的将数据导 ...

  4. Pandas 读取超过 65536 行的 Excel 文件

    Excel 文件的格式曾经发生过一次变化,在 Excel 2007 以前,使用扩展名为 .xls 格式的文件,这种文件格式是一种特定的二进制格式,最多支持 65,536 行,256 列表格.从 Exc ...

  5. pandas读取MySql/SqlServer数据

    用过的东西总是会忘记,尤其是细节,还是记下来比较靠谱. 读取MySql数据 1 import MySQLdb 2 import pandas as pd 3 4 conn = MySQLdb.conn ...

  6. 利用pandas将numpy数组导出生成excel

    代码 # -*- coding: utf- -*- """ Created on Sun Jun :: @author: Bruce Lau ""&q ...

  7. Python之pandas读取mysql中文乱码问题

    # -*- coding: utf-8 -*- # author:baoshan import pandas as pd import pymysql config = { "host&qu ...

  8. PHP实现MySQL数据导出为EXCEL(CSV格式)

    <?php // 输出Excel文件头,可把user.csv换成你要的文件名 header('Content-Type: application/vnd.ms-excel'); header(' ...

  9. mysql数据导出为excel文件

    select * from  xi_table  into  outfile  ’d:test.xls’

  10. 深入理解pandas读取excel,txt,csv文件等命令

    pandas读取文件官方提供的文档 在使用pandas读取文件之前,必备的内容,必然属于官方文档,官方文档查阅地址 http://pandas.pydata.org/pandas-docs/versi ...

随机推荐

  1. #Python 文本包含函数,pandas库 Series.str.contains 函数

    一:基础的函数组成 '''Series.str.contains(pat,case = True,flags = 0,na = nan,regex = True)'''测试pattern或regex是 ...

  2. 2023-03-23:音视频解混合(demuxer)为PCM和YUV420P,用go语言编写。

    2023-03-23:音视频解混合(demuxer)为PCM和YUV420P,用go语言编写. 答案2023-03-23: 大体步骤如下: 1.打开媒体文件,并获取音频和视频流. 2.对于每个流,找到 ...

  3. Selenium - 浏览器操作

    Selenium - 浏览器操作 获取浏览器信息 from selenium import webdriver driver = webdriver.Chrome() driver.get(" ...

  4. 《啊哈C语言——逻辑的挑战》学习笔记

    第一章 梦想启航 第1节 让计算机开口说话 1.基础知识 1)计算机"说话"的两种方式 显示在屏幕上 通过喇叭发出声音 2)计算机"说话"之显示在屏幕上 格式: ...

  5. sipp重放rtp数据测试FreeSWITCH

    环境:CentOS 7.6_x64 FreeSWITCH版本 :1.10.9 sipp版本:3.6.1 一.背景描述 sipp是一款VoIP测试工具,日常开发过程中会使用到该软件,但其自身携带的pca ...

  6. 手动封装XMLHttpRequest

    自己动手封装一个XMLHttpRequest, 兼容低版本浏览器,自动检测post与get 类型请求,自动参数拼接,参数类型辨别 <!DOCTYPE html> <html> ...

  7. git从配置到使用

    一 .安装git 1.1 官方地址为:https://git-scm.com/download/win 1.2 双击下载的.exe文件 1.3 直接下一步 1.4 自定义安装目录 1.5 勾选命令行和 ...

  8. SpringBoot打包成WAR包的时候把第三方jar包打到LIB文件夹下和把第三方jar包打入到SpringBoot jar包中

    SpringBoot打包成WAR包的时候把第三方jar包打到LIB文件夹下和把第三方jar包打入到SpringBoot jar包中 转载 首先我们应该知道我们把SPRINGBOOT项目打包成WAR包和 ...

  9. .NET周报 【6月第1期 2023-06-04】

    专题 - NanoFramework项目案例 如果有时间,我会在周报中加入一些专题和项目案例的分享,本周就是讨论.NET NanoFramework项目案例的专题,在讨论 NanoFramework ...

  10. HTTP请求的几种方式

    1.HTTP请求简介[1] HTTP(Hypertest Transfer Protocol)是用于传输像HTML这样的超文本文件的应用层协议.它被设计用于WEB浏览器端和WEB服务端的交互,但也有其 ...