Flask接收JSON转单行Pandas DataFrame时pd.read_json报错求助
解决Flask接收JSON转单行Pandas DataFrame的问题
你遇到的ValueError是因为pd.read_json()的参数要求是JSON格式字符串、文件路径或类文件对象,而flask.request.get_json()返回的是Python字典,不符合该方法的参数要求。
以下两种方法可以直接将字典转换为你需要的单行DataFrame:
方法1:直接传入包含字典的列表到DataFrame构造器
import pandas as pd from flask import request # 获取POST请求的JSON数据 data = request.get_json() # 将字典包裹在列表中,构造单行DataFrame df = pd.DataFrame([data])
方法2:使用from_dict方法并转置
# 从字典构造DataFrame,指定orient='index'后转置为单行 df = pd.DataFrame.from_dict(data, orient='index').T
执行上述代码后,你会得到目标格式的DataFrame:
ABC DATE AMOUNT IDENTIFIER 0 123 2020-01-01 100 12345
如果需要去掉默认的索引列,可以添加:
df = df.reset_index(drop=True)
另外,你还可以按需转换数据类型(比如将金额转为数值、日期转为datetime类型):
df['AMOUNT'] = df['AMOUNT'].astype(int) df['DATE'] = pd.to_datetime(df['DATE'])
内容的提问来源于stack exchange,提问作者FlyingPickle
相关产品推荐
相关产品推荐

