python - 如何将此 JSON 加载到数据框中?

标签 python json python-2.7 dataframe

尝试用 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')

结果: result 2

我想要的预期结果是:

enter image description here

基本上是一个扁平化的数据框,列名 = 属性,每个元素只有一行。

最佳答案

也许你可以试试这段代码:

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/

相关文章:

python - 具有特定值的字符串的正则表达式

Python - 排除两个日期之间的周末

python - 素数 : Why is this code giving me some composite numbers?

python - Tkinter 类和按钮使用

ruby-on-rails - 产生哈希的JBuilder循环

PHP JSON 解码 Amazon SNS

json - 从 JSON 对象中提取值并将它们分配给循环中的 shell 变量

python - Anaconda : IPython not running

python - Heroku 的 Gunicorn 和 Bottle 设置

python - 具有 "in range"函数的迭代列表?