使用多个层次结构层访问JSON文件

我有一个
JSON文件,格式如下:

{  
   "total_rows":10000,
   "offset":0,
   "rows":[  
      {  
     "id":"005584833b8e2063f04ff713",
     "key":"00558433b8e2063f04ff713",
     "value":{  
        "rev":"1-8137baa51a2f335b0215ba9d08"
     },
     "doc":{  
        "_id":"0055842eb0063f04ff713",
        "_rev":"1-8137baa51a2f335b0215ba9d08",
        "value":1,
        "date":"2017-04-07T12:38:06.336Z",
        "date_inmilli":1491568686336,
        "sensorType":"sensor",
        "date":"2017-04-07T12:38:06.458Z"
     }
  }
   ]
}

我正在尝试使用Python提取“sensorType”或“value”的值.
使用下面的R代码,我能够正确地得到结果:

library(jsonlite)
df <- fromJSON("file.json")
df$rows$doc$sensorType

但是,使用Python pandas时,当我尝试使用以下代码提取值时出现错误:

import pandas as pd
df = pd.read_json("file.json")
df['rows']['doc']['sensorType']

我正在尝试学习Python,你能帮忙解决这个问题吗?提前致谢.

最佳答案 rows是一个对象列表试试这个:

df['rows'][0]['doc']['sensorType']

或者如果行列表中有许多对象,则需要使用循环语句

for row in df['rows']:
    print(row['doc']['sensorType'])

更新
要将这些值放到数据帧中,更多的pythonic方式是这样的

df1 = pd.DataFrame([row['doc']['sensorType'] for row in df['rows']])

print(df1)
点赞