【发布时间】:2020-08-03 19:01:31
【问题描述】:
我正在以这种形式从 API 获取人脸检测数据:
{"id":1,"ageMin":0,"ageMax":100,"faceConfidence":66.72220611572266,"emotion":"ANGRY","emotionConfidence":50.0'
b'2540969848633,"eyeglasses":false,"eyeglassesConfidence":50.38102722167969,"eyesOpen":true,"eyesOpenConfidence":50.20328140258789'
b',"gender":"Male","genderConfidence":50.462989807128906,"smile":false,"smileConfidence":50.15522384643555,"sunglasses":false,"sun'
b'glassesConfidence":50.446510314941406}]'
我想将它保存到这样的 csv 文件中:
id ageMin ageMax faceConfidence
1 0 100 66
... 等等。 我试着这样做:
response = requests.get(url, headers=headers)
with open('detections.csv', 'w') as f:
writer = csv.writer(f)
for item in response:
writer.writerow(str(item))
这会将每个字符放在自己的单元格中。我也尝试过使用item.id,但这会报错:AttributeError: 'bytes' object has no attribute 'id'。
有人能指出正确的方向吗?
【问题讨论】:
-
您的回复是 JSON 格式的。 Python 不会自动将 JSON 字符串转换为对象,因此为什么你会得到
AttributeError。在尝试访问对象的属性之前,使用json库解析字符串。 -
要获得json响应,使用
response.json()而不是读取并转换为json
标签: python python-3.x csv response