今天来说说,如果想要导出数据库里面的数据,并生成excel表格,该怎么操作,比较简单!
一.环境配置
这边需要安装pandas、pymysql、openpyxl三个库
os库 循环遍历安装所有库:
##想要安装的库的列表
libs = ["pandas","pymysql","openpyxl"]
###循环遍历安装
for lib in libs:
os.system("pip install " + lib)
二.实际应用
1.首先我们运用pymysql库与数据库建链:
import pymysql
db = pymysql.connect(
host="localhost",
port=3306,
user='xxx', #在这里输入用户名
password='xxx', #在这里输入密码
charset='utf8mb4'
) #连接数据库
2.连接上数据库后,我们建立游标对象,以及定义sql指令:
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor() #创建游标对象
sql = 'show databases' #sql语句
cursor.execute(sql) #执行sql语句
sql = 'use xxxx;' #sql语句
cursor.execute(sql) #执行sql语句
3.然后运用pandas的pd.read_sql()函数:将SQL查询或数据库表读入DataFrame
df=pd.read_sql("""SELECT * FROM xxxx""",con=db)
con:连接SQL数据库的Engine,一般用SQLAlchemy或者是PyMysql之类的模块来建立。
4.openpyxl库生成excel表格
df.to_excel(r'表格1.xlsx',index=False)
完整代码:
import pymysql
import pandas as pd
import openpyxl
db = pymysql.connect(
host="localhost",
port=3306,
user='xxx', #在这里输入用户名
password='xxx', #在这里输入密码
charset='utf8mb4'
) #连接数据库
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor() #创建游标对象
sql = 'show databases' #sql语句
cursor.execute(sql) #执行sql语句
sql = 'use xxxx;' #sql语句
cursor.execute(sql) #执行sql语句
df=pd.read_sql("""SELECT * FROM xxxx""",con=db)
df.to_excel(r'表格1.xlsx',index=False)
三.总结
这样就完成了数据库表导出了,谢谢!
@Neng