【发布时间】:2018-08-02 05:14:20
【问题描述】:
我正在尝试使用以下代码
mysql = MySQL()
app = Flask(__name__)
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = 'root'
app.config['MYSQL_DATABASE_DB'] = 'compData'
app.config['MYSQL_DATABASE_HOST'] = '0.0.0.0'
mysql.init_app(app)
@app.route("/Authenticate")
def Authenticate():
cursor = mysql.connect().cursor()
cursor.execute("SELECT * from abclimit 5")
pro_info = pd.DataFrame(data=cursor.fetchall(), index=None,columns=[i[0] for i in cursor.description])
return Response(json.dumps(pro_info), mimetype='application/json')
if __name__ == "__main__":
app.run()
但是给我错误
File "pathe\frame.py", line 303, in __init__
raise PandasError('DataFrame constructor not properly called!')
pandas.core.common.PandasError: DataFrame constructor not properly called!
我想从 sql 查询结果创建 pandas DF
【问题讨论】:
-
虽然我建议尝试 MaxU 提供的解决方案,但我认为您上面所做的问题是您已经调用了两次
cursor.fetchall()。当您在 DataFrame 构造函数中调用它时,它不会返回任何结果。删除第一个电话可能会解决您的问题。 -
抱歉我的错误检查已更新。
标签: python mysql sql pandas dataframe