0
[{"cat1":136803,"cat2":"1.4545","cat3":"0.0885","cat4":"112969"},
 {"cat1":1564654,"cat2":"2.5448","cat3":"0.0568","cat4":"5468489"},
 {"cat1":5484654,"cat2":"1.8948","cat3":"0.0478","cat4":"898489"}]

我有一个类似于上面的 JSON 结构。

我的代码:

import json
from pprint import pprint

with open('file/path') as data_file:    
    data = json.load(data_file)

data["cat1"]

给我一个错误,列表索引必须是整数而不是 str

我怎样才能解析这个只返回我想要的,比如“cat1”?

我的目标是从我的 JSON 文件中解析出我想要的内容,然后将其写入 CSV 文件。

4

2 回答 2

2

您的 JSON 结构是一个字典列表。所以,你必须写:

data[0]["cat1"]
于 2013-05-09T11:57:48.907 回答
0

要获取与 key 关联的值cat1,请尝试:

cat1 = [dct['cat1'] for dct in data]

请注意,这data是一个dicts列表,而不是 adict本身。因此,您必须先遍历列表中的项目(即 dicts),然后才能访问与 key 关联的值cat1

于 2013-05-09T11:58:02.223 回答