【问题标题】:Python - JSON array to DataFramePython - JSON 数组到 DataFrame
【发布时间】:2018-10-16 09:59:45
【问题描述】:

我有以下JSON 数组。

[
    {
        "foo"=1
    },
    {
        "foo"=2
    },
    ...
]

我想使用pd.read_json() 命令将其转换为DataFrame 对象,如下所示。

df = pd.read_json(my_json) #my_json is JSON array above

但是,我得到了错误,因为 my_jsonlist/arrayjson。错误是ValueError: Invalid file path or buffer object type: <class 'list'>

除了遍历list,还有什么有效的方法可以将JSON 提取/转换为DataFrame 对象吗?

【问题讨论】:

  • 在您的示例中,您在列表中调用read_csv
  • @AmiTavory @thebjorn 错字的家伙。编辑为正确的,即read_json()

标签: python json pandas dataframe


【解决方案1】:

使用df = pd.DataFrame(YourList)

例如:

import pandas as pd

d = [
    {
        "foo":1
    },
    {
        "foo":2
    }
]

df = pd.DataFrame(d)
print(df)

输出:

   foo
0    1
1    2

【讨论】:

    【解决方案2】:

    你的问题有两个问题:

    1. 它在列表中调用to_csv
    2. JSON 是非法的,因为它包含 = 符号而不是 :

    这是我的作品:

    import json
    import pandas as pd
    
    >>> pd.DataFrame(json.loads("""[
        {
            "foo": 1
        },
        {
            "foo": 2
        }
    ]"""))
    
       foo
    0    1
    1    2
    

    您也可以直接拨打read_json

    【讨论】:

      猜你喜欢
      • 2020-01-15
      • 2020-02-25
      • 2019-11-30
      • 2017-04-29
      • 2017-12-21
      • 2020-11-08
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      相关资源
      最近更新 更多