我有一个来自 http 请求的传入 json。我可以毫无问题地返回结果。但我似乎无法将其放入数据框中。这样做时我最终会变成空。我尝试过数据框和其他的几种变体。但它要么以 null 结束并抛出错误。
r=requests.get(URL + '/%s' % cmd ,auth = auth, headers=headers)
jsonRes = r.json()
res = json.dumps(jsonRes, indent=4)
print(res)
df = pd.read_json(res)
df.head()
传入的数据如下所示。
[
{
"delayed": 900,
"src": "CME",
"identifier": "ENQ100-1",
"type": "INDEX",
"country": "US",
"open": "14:30:00",
"close": "21:00:00",
"name": "NQ 100 Fut."
}
]
最佳答案
读完第二条评论后,情况就很清楚了。为了清楚起见,只是发布答案。
直接将传入的 JSON 与 from_records 结合使用将正确创建数据帧。对于来自 Spark 的我来说,我也尝试使用不同的东西(例如 head() 等)来打印数据帧。这可以直接通过打印 df 来完成。
请注意,我还没有尝试过使用嵌套数据框。
def req(auth, headers, cmd=''):
r=requests.get(URL + '/%s' % cmd ,auth = auth, headers=headers)
jsonRes = r.json()
df = pd.DataFrame.from_records(jsonRes) # Use the Json directly
print(df)
关于python - 将 json 转换为没有 header 的 pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58957951/