【发布时间】:2018-04-29 22:00:58
【问题描述】:
我正在尝试使用 pymysql 将 mySQL 查询结果存储在 pandas DataFrame 中,并且在构建数据框时遇到错误。发现了一个类似的问题here 和here,但似乎有pymysql 特定的错误被抛出:
import pandas as pd
import datetime
import pymysql
# dummy values
connection = pymysql.connect(user='username', password='password', databse='database_name', host='host')
start_date = datetime.datetime(2017,11,15)
end_date = datetime.datetime(2017,11,16)
try:
with connection.cursor() as cursor:
query = "SELECT * FROM orders WHERE date_time BETWEEN %s AND %s"
cursor.execute(query, (start_date, end_date))
df = pd.DataFrame(data=cursor.fetchall(), index = None, columns = cursor.keys())
finally:
connection.close()
返回:AttributeError: 'Cursor' object has no attribute 'keys'
如果我放弃 index 和 columns 参数:
try:
with connection.cursor() as cursor:
query = "SELECT * FROM orders WHERE date_time BETWEEN %s AND %s"
cursor.execute(query, (start_date, end_date))
df = pd.DataFrame(cursor.fetchall())
finally:
connection.close()
返回ValueError: DataFrame constructor not properly called!
提前致谢!
【问题讨论】:
标签: python mysql pandas pymysql