1. 准备工作
1.1 获取mysql的host和user名——可在cmd中进行
命令:select host,user from mysql.user
host为localhost(也可以直接写IP地址)
user为root
1.2 知道要导入的数据库名字和表名字
数据库名字:taidi2020a
表名字:附件1
2. Python导入MySQL数据
利用Pandas导入MySQL的表格,三句代码即可。
#导入包
import pandas as pd
import sqlalchemy as sql
conda install pymysql #安装pymysql模块
# 建立链接
engine = sql.create_engine('mysql+pymysql://root:****@localhost:3306/taidi2020a')
#格式 engine = sql.create_engine('mysql+pymysql://用户名:密码@地址:端口号/数据库名字')
#查询语句
sql1 = '''select * from 附件1''' #很奇怪,这里附件1并不需要加引号
#读入到Python
df = pd.read_sql(sql1,engine)
#如果还需要导出到xlsx或csv
df.to_excel("附件1_副本.xlsx", index=False)
df.to_csv("附件1_副本.csv", index=False,encoding="utf_8_sig")
3. 延伸阅读
在python中利用pandas读取MySQL中的数据并将其写入excel表格中_大数据-攻城狮-CSDN博客
pd.read_sql( )完整函数
read_sql(sql,con,index_col='None',coerce_float='True',params='None',parse_dates='None',columns='None',chunksize:None='None')
ead_sql方法是pandas中用来在数据库中执行指定的SQL语句查询或对指定的整张表进行查询,以DataFrame 的类型返回查询结果.
其中各参数意义如下:
-
sql:需要执行的sql语句
-
con:连接数据库所需的engine,用其他数据库连接的包建立,例如SQLalchemy和pymysql
-
index_col: 选择哪列作为index
-
coerce_float:将数字形字符串转为float
-
parse_dates:将某列日期型字符串转换为datetime型数据
-
columns:选择想要保留的列
-
chunksize:每次输出多少行数据