转换JSON文件

时间:2018-05-07 19:20:16

标签: pandas

我有一组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")

1 个答案:

答案 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)。