尝试用 Python 读取以下 JSON 文件:
[[ {"fecha" : "2013-01-01","indicativo" : "3195","nombre" : "MADRID, RETIRO","provincia" : "MADRID","altitud" : "667","tmed" : "6,4","prec" :"0,0"},{"fecha" : "2013-01-02","indicativo" : "3196","nombre" : "MADRID,RETIRO","provincia" : "MADRID","altitud" : "667","tmed" : "6,5","prec" : "0,0"},{"fecha" : "2013-01-03","indicativo" : "3197","nombre": "MADRID, RETIRO","provincia" : "MADRID","altitud" : "667","tmed" : "6,7","prec" : "0,0"}],[ {"fecha" : "2013-02-01","indicativo" : "3195","nombre" : "MADRID, RETIRO","provincia" : "MADRID","altitud" : "667","tmed" : "6,4","prec" : "0,0"},{"fecha" : "2013-02-02","indicativo" :"3196","nombre" : "MADRID, RETIRO","provincia" : "MADRID","altitud" : "667","tmed" : "6,5","prec" : "0,0"}]]
我尝试了以下选项:
选项 1:
df2 = pd.read_json('test.json',orient='split')
结果:
AttributeError: 'list' object has no attribute 'iteritems'
选项 2:
df2 = pd.read_json('test.json',orient='columns')
我想要的预期结果是:
基本上是一个扁平化的数据框,列名 = 属性,每个元素只有一行。
最佳答案
也许你可以试试这段代码:
import pandas as pd
import json
file = './test.json'
with open(file, 'r') as f:
data = json.load(f)
big_df = pd.DataFrame()
for i in range(len(data)):
a = json.dumps(data[i])
big_df = pd.concat([big_df, pd.read_json(a)], axis=0)
big_df.reset_index(drop=True)
警告:我已经在 python3
中测试了代码,但我认为它也应该在 python2
中工作。
关于python - 如何将此 JSON 加载到数据框中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54855017/