Python - JSON 数组到 DataFrame

Posted

技术标签:

【中文标题】Python - JSON 数组到 DataFrame【英文标题】:Python - JSON array to 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() 【参考方案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】:

你的问题有两个问题:

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

这是我的作品:

import json
import pandas as pd

>>> pd.DataFrame(json.loads("""[
    
        "foo": 1
    ,
    
        "foo": 2
    
]"""))

   foo
0    1
1    2

您也可以直接拨打read_json

【讨论】:

以上是关于Python - JSON 数组到 DataFrame的主要内容,如果未能解决你的问题,请参考以下文章

将 JSON 数组嵌套到 Python Pandas DataFrame

python追加到json对象中的数组

尝试在 Python 中读取 json 文件,然后将某个值添加到数组中

Python:将 JSON 对象转换为 JSON 数组

从 JSON 文件到 Numpy 数组

将多维json数组转换成python字典成dataframe