pandas具有直接读写mysql的API接口,简单易学,这里就给大家简单介绍下。
import pymysql
import pandas as pd
def query_in_db(sql):
_conn = pymysql.connect(
host='host_ip', # host_ip
port='your_port',
user='root',
passwd='your_passwd',
db='your_db_name',
charset='utf8'
)
_conn.ping(True)
ret = pd.read_sql_query(sql, con=_conn)
_conn.close()
return ret
这里的mysql驱动,你是想怎么用就怎么用,候选的lib相当多,MySQLdb, mysql, sqlalchemy等等。基本用法都差不多,你需要传入sql语句和驱动对象即可。如果你翻看文档,就会发现还有一个接口:
pd.read_sql(sql, con=_conn)
这个接口实际上是read_sql_query的wrapper,这个wrapper还会导向另一个接口read_sql_table。
如果想用表里的某个列作为导入的DataFrame中的index,那么可以通过index_col='your_target_column_name'来指定