加载JSON文件以读取和选择数据

时间:2017-02-17 17:19:54

标签: python json

我有一个json文件,我加载到python中。我想从文件中获取一个关键字(非常大),例如国家排名或来自互联网的信息评论。我试过了

json.load('filename.json') 

但是我收到了一个错误:

AttributeError: 'str' object has no attribute 'read.'

我做错了什么?

此外,如果json文件非常大,我如何选择它?

3 个答案:

答案 0 :(得分:4)

我认为您需要打开该文件,然后将其传递给json load,如此

import json
from pprint import pprint

with open('filename.json') as data:    
    output = json.load(data)

pprint(output)

答案 1 :(得分:0)

尝试以下方法:

import json

json_data_file = open("json_file_path", 'r').read() # r for reading the file
json_data = json.loads(json_data_file)

使用以下键访问数据:

json_data['key']

答案 2 :(得分:0)

json.load()期待文件句柄打开后:

with open('filename.json') as datafile:
    data = json.load(datafile)

例如,如果您的json数据如下所示:

{
"maps": [
    {
        "id": "blabla",
        "iscategorical": "0"
    },
    {
        "id": "blabla",
        "iscategorical": "0"
    }
],
"masks": {
    "id": "valore"
},
"om_points": "value",
"parameters": {
    "id": "valore"
}
}

要访问部分数据,请使用:

data["maps"][0]["id"]
data["masks"]["id"]
data["om_points"]

该代码可在此SO答案中找到: Parsing values from a JSON file using Python?