小编Man*_*elu的帖子

TypeError:JSON对象必须是str,而不是'dict'

对不起伙计们,我找不到令人满意的答案来打印部分json回复.有人可以帮助我吗:

import json
import requests
import pprint 

response = requests.get('<api endpoing>')
json_data = response.json()
print(json.dumps(json_data, indent=4, sort_keys=True))
Run Code Online (Sandbox Code Playgroud)

Json的回应是

{
    "Value1": "SomeValue",
    "data": {
        "subval1": false,
        "subval2": "0a4",
        "subval3": "",
        "subval4": "Click h!",
        "subval5": "1002",
        "subval6": "932",
        "subval7": "i2",
        "subval8": 250,
        "subval9": 0,
        "subval10": 1,
        "subval11": 3,
        "subval12": 1,
        "subval13": "<!>",
        "subval14": "",
        "subval15": "Click !!",
        "subval16": "",
        "subval17": 300
    },
    "error": true,
    "message": "Success",
    "status": 200
}
Run Code Online (Sandbox Code Playgroud)

现在,我想遍历并打印"数据":值.我会做以下事情

data = json.loads(json_data)
data_set = (data['data'])
print(data_set)
Run Code Online (Sandbox Code Playgroud)

但我得到的错误:TypeError:JSON对象必须是str,而不是'dict'

python json python-3.x

9
推荐指数
1
解决办法
4万
查看次数

以特定字符开头的字符串计数

我试图从下面的列表中查找以字母 V 开头的国家/地区的数量:

 ['USA', '249', '158', '84', '8.7'],
 ['Uruguay', '115', '35', '220', '6.6'],
 ['Uzbekistan', '25', '101', '8', '2.4'],
 ['Vanuatu', '21', '18', '11', '0.9'],
 ['Venezuela', '333', '100', '3', '7.7'],
 ['Vietnam', '111', '2', '1', '2.0'],
 ['Yemen', '6', '0', '0', '0.1'],
 ['Zambia', '32', '19', '4', '2.5'],
 ['Zimbabwe', '64', '18', '4', '4.7']
Run Code Online (Sandbox Code Playgroud)

代码:

def countCountry(csv1):
    count = 0
    for item in csv1:
        if '/V+' in item[0]:
            count +=1
    return count
Run Code Online (Sandbox Code Playgroud)

不幸的是,count 总是返回零。有人可以帮忙吗?

python regex csv python-3.x

1
推荐指数
1
解决办法
4260
查看次数

标签 统计

python ×2

python-3.x ×2

csv ×1

json ×1

regex ×1