【发布时间】:2020-10-24 04:04:30
【问题描述】:
我需要将来自 SQL 查询的数据放入 Pandas 数据框中。请告诉我是否可以获取查询结果的列名?我发现 sqlalchemy 中有一个 keys() 函数,但它对我不起作用:
import mysql.connector
import pandas as pd
mydb = mysql.connector.connect(
host="SQLServer",
user="sqlusr",
password="usrpasswd",
database="sqldb"
)
cursor = mydb.cursor()
Query="SELECT Title, Review, Rate FROM reviews;"
cursor.execute(Query)
df = pd.DataFrame(cursor.fetchall())
df.columns = cursor.keys()
AttributeError: 'CMySQLCursor' 对象没有属性 'keys'
【问题讨论】:
-
你为什么不使用
pd.read_sql_query? link -
@sammywemmy 完全正确。引用 OP 的代码来执行“df=pd.read_sql_query(Query, mydb)”将拉入一个带有列名的数据框。游标对于执行存储过程等其他事情很有用,但对于直接读取,这是要走的路。
标签: mysql sql python-3.x pandas mysql-connector