解析熊猫中的json值read_json

时间:2018-08-19 22:17:35

标签: python json pandas dictionary dataframe

我正在读取json文件以获取数据。 json像这样开始:

{
"rows": [
    [
        2013,
        "Mazda",
        "3",
        "917723",
        7795,
        20895
    ],
    [
        2016,
        "Cadillac",
        "ATS",
        "DD16135D",
        54890,
        66000
    ]

我正在尝试将一行中的值放入单独的列中。 我尝试执行以下操作:

df = pd.read_json(path, orient='values')

得到结果:

    rows
0  [2013, Mazda, 3, 917723, 77...
1  [2016, Cadillac, ATS, DD161...
2  [2015, Mitsubishi, Outlander,...
3  [2016, BMW, 528I, 918058, 3...
4  [2015, Toyota, Venza, 91806...

最终,我希望在数据框中有7列,每一列代表一行中的每个项目。我该如何实现?

1 个答案:

答案 0 :(得分:2)

您可以将json文件读入字典,然后选择'rows'键:

# replace data with open('data.json')
with data as f:
    df = pd.DataFrame(json.load(f)['rows'])

print(df)

      0         1    2         3      4      5
0  2013     Mazda    3    917723   7795  20895
1  2016  Cadillac  ATS  DD16135D  54890  66000

设置

from io import StringIO
import json

data = StringIO("""{
"rows": [
    [
        2013,
        "Mazda",
        "3",
        "917723",
        7795,
        20895
    ],
    [
        2016,
        "Cadillac",
        "ATS",
        "DD16135D",
        54890,
        66000
    ]]}""")