我有一组JSON格式的数据。根据我的理解,JSON不可用,我需要将其转换为某种表格式,供我用作数据集。
我试图将文件转换为CSV。它工作但它没有正确出来。它最终没有适当的标签和列。有没有解决的办法?
这是数据集示例。
{
"data": {
"1": {
"id": 1,
"items": [
"bar",
"cream"
],
"extras": {},
"supply": "crate"
}
}
这就是我对熊猫的所作所为。
import pandas as pd
pd.read_json("myfile.json").to_csv("new.csv")
答案 0 :(得分:2)
您需要使用正确的pd.read_json
参数调用orient
。
这来自read_json
doc:
orient:string,
预期的JSON字符串格式的指示。 to_json()可以使用相应的方向值生成兼容的JSON字符串。可能的方位集是:
'分裂' :dict像{index - > [index],列 - > [列],数据 - > [数值]}
'记录' :列表如[{column - > value},...,{column - >值}]
'指数' :dict像{index - > {column - >值}}
'列' :dict像{column - > {index - >值}}
'值' :只是值数组
在您的情况下,我认为pd.read_json("myfile.json", orient="values")
应该有用。
如果您有嵌套的json字段,则还必须使用pd.json_normalize()
展平嵌套字段(请参阅here)。