读取Json文件并将其转换为python中的列

时间:2019-02-14 16:20:07

标签: python json pandas

我正在尝试使用以下代码在python中读取this json file(我想将所有数据都放在一个数据框中):

import numpy as np
import pandas as pd
import json 
from pandas.io.json import json_normalize

df = pd.read_json('short_desc.json')
df.head()

Data frame head screenshot

使用此代码,我只能将第一行转换为单独的列:

json_normalize(df.short_desc.iloc[0])

First row screenshot

我想使用以下代码对整个df进行相同操作:

df.apply(lambda x : json_normalize(x.iloc[0]))

但我收到此错误:

  

ValueError:如果使用所有标量值,则必须传递索引

我做错了什么?

提前谢谢

1 个答案:

答案 0 :(得分:1)

使用json.load读取json文件后,即可使用pd.DataFrame.from_records。这将创建您要查找的DataFrame。

wih open('short_desc.json') as f:
    d = json.load(f)

df = pd.DataFrame.from_records(d)