Python - JSON 数组到 DataFrame

Dar*_*her 7 python json dataframe pandas

我有以下JSON数组。

[
    {
        "foo"=1
    },
    {
        "foo"=2
    },
    ...
]
Run Code Online (Sandbox Code Playgroud)

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

df = pd.read_json(my_json) #my_json is JSON array above
Run Code Online (Sandbox Code Playgroud)

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

除了遍历list,是否有任何有效的方法来提取/转换JSONDataFrame对象?

Rak*_*esh 13

df = pd.DataFrame(YourList)

前任:

import pandas as pd

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

df = pd.DataFrame(d)
print(df)
Run Code Online (Sandbox Code Playgroud)

输出:

   foo
0    1
1    2
Run Code Online (Sandbox Code Playgroud)


Ami*_*ory 5

你的问题有两个问题:

  1. 它要求to_csv列出一份名单。
  2. JSON 是非法的,因为它包含=符号而不是:

这对我有用:

import json
import pandas as pd

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

   foo
0    1
1    2
Run Code Online (Sandbox Code Playgroud)

您也可以read_json直接拨打电话。