[MySQL] 用Python读取MySQL中的数据
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. 延伸阅读
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:每次输出多少行数据
