创建MySQL引擎
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://ledao:ledao123@localhost/pandas_learn')
以默认方式读取所有的列到DF中
with engine.connect() as conn, conn.begin():
data = pd.read_sql_table('data_col1_col2', con=conn)
data.head()
第一个参数为数据库中的表名,第二个参数为连接,也可以直接给engine。
指定某列为index,指定读取的列
with engine.connect() as con, con.begin():
data = pd.read_sql_table('data_col1_col2', con=con, index_col='index', columns=['col1', 'col2'])
data.head()
通过index_col=参数指定列'index'为DF的index,通过columns=(列表类型)指定读取表的子集。
将某列解析为Date类型
pd.read_sql_table('data_col1_col2', con=engine, parse_dates=['col1']).head()
通过parse_dates=(列表类型)指定某几个列(如整型、字符串型的列)为Date类型,pandas会自动解析,默认的格式为(1970-01-01 00:00:00)。
同时,也可指定解析的字符串格式,如下所示:
# pd.read_sql_table('data_col1_col2', engine, parse_dates={'col1': '%Y-%m-%d'})
pd.read_sql_table('data_col1_col2', engine, parse_dates={'col1': {'format': '%Y-%m-%d %H:%M:%S'}}).head()
Pandas读取表格就这么容易。