[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:每次输出多少行数据
经验分享 程序员 微信小程序 职场和发展