Python 如何从http响应解析这个json.dumps并访问每个值? 代码: 导入请求 导入json 订阅密钥=“2d18be7f5f3c4e24a426d696e4a66e85” 断言订阅密钥 情感识别url=”https://westcentralus.api.cognitive.microsoft.com/face/v1.0/detect" header={'Ocp-Apim-Subscription-Key':Subscription\u Key} params={'returnFaceId':'true', “returnFaceLandmarks”:“false”, “returnFaceAttributes”:“情感”} image\u path=r“C:\Users\shiva\Desktop\sad.jpg” image\u data=open(image\u路径,“rb”).read() headers={'Ocp-Apim-Subscription-Key':订阅密钥, “内容类型”:“应用程序/八位字节流”} 响应=请求.post(情感识别url、, params=params, 标题=标题, 数据=图像(数据) 打印(json.dumps(response.json())) 如果response.status_code==202: 打印(“通过”) 其他: 响应。针对_状态()提出_ 输出:

Python 如何从http响应解析这个json.dumps并访问每个值? 代码: 导入请求 导入json 订阅密钥=“2d18be7f5f3c4e24a426d696e4a66e85” 断言订阅密钥 情感识别url=”https://westcentralus.api.cognitive.microsoft.com/face/v1.0/detect" header={'Ocp-Apim-Subscription-Key':Subscription\u Key} params={'returnFaceId':'true', “returnFaceLandmarks”:“false”, “returnFaceAttributes”:“情感”} image\u path=r“C:\Users\shiva\Desktop\sad.jpg” image\u data=open(image\u路径,“rb”).read() headers={'Ocp-Apim-Subscription-Key':订阅密钥, “内容类型”:“应用程序/八位字节流”} 响应=请求.post(情感识别url、, params=params, 标题=标题, 数据=图像(数据) 打印(json.dumps(response.json())) 如果response.status_code==202: 打印(“通过”) 其他: 响应。针对_状态()提出_ 输出:,python,json,Python,Json,我得到了这个响应,我正在使用python。 我想访问每个值,如愤怒、蔑视、悲伤等,并将它们转换为整数。 我使用print(type(values))检查了响应 我试着使用熊猫和正常化,但没有任何效果。 任何人都可以提供帮助吗?响应是一个列表,您只需要获取列表中包含所需数据的第一个元素 response.json()[0]。获取('anger') 响应是一个列表,您只需获取列表中包含所需数据的第一个元素 response.json()[0]。获取('anger') 使用pandas: 如果你只有

我得到了这个响应,我正在使用python。 我想访问每个值,如愤怒、蔑视、悲伤等,并将它们转换为整数。 我使用print(type(values))检查了响应 我试着使用熊猫和正常化,但没有任何效果。
任何人都可以提供帮助吗?

响应是一个列表,您只需要获取列表中包含所需数据的第一个元素

response.json()[0]。获取('anger')


响应是一个列表,您只需获取列表中包含所需数据的第一个元素

response.json()[0]。获取('anger')

使用
pandas
  • 如果你只有一张图片,那就太夸张了
  • 如果您有多个图像,并且JSON响应是许多dict的列表,那么这是一个更好的选择
  • api似乎不能同时处理多个图像,因此添加了一个循环来迭代多个图像
    • 每个图像响应都附加到
      数据
      列表中
    • 文件路径将添加到每个面的
    • 由于图像质量问题,某些图像可能无法处理。它们仍然得到200个响应,但列表为空。这是通过只向数据添加文件路径来处理的
  • 处理完所有图像后,在
    数据上使用
    json\u normalize
  • 问题是如何处理
    json.dumps(response.json())
    response.json()
    json.dumps
    将其转换为
    str
    (例如
    '[{}]'
    ),这使得数据更难处理
将熊猫作为pd导入
从pandas.io.json导入json_规范化
从pathlib导入路径
导入请求
订阅密钥=“2d18be7f5f3c4e24a426d696e4a66e85”
断言订阅密钥
情感识别url=”https://westcentralus.api.cognitive.microsoft.com/face/v1.0/detect"
header={'Ocp-Apim-Subscription-Key':Subscription\u Key}
params={'returnFaceId':'true',
“returnFaceLandmarks”:“false”,
“returnFaceAttributes”:“情感”}
#使用pathlib设置多个图像的路径
p=路径(r'c:\some\u Path\u to\u files\data\sad')
#目录中所有图像的列表(使用rglob获取子目录)
f=列表(p.glob('*.jpg'))
数据=列表()
#遍历图像
对于f中的面:
image_data=face.open('rb').read()
headers={'Ocp-Apim-Subscription-Key':订阅密钥,
“内容类型”:“应用程序/八位字节流”}
响应=请求.post(情感识别url、,
params=params,
标题=标题,
数据=图像(数据)
如果response.status_code==200:
#解析响应
data_list=response.json()
#chcck如果列表为空-如果api无法处理face,则会发生这种情况
如果数据列表:
数据目录=数据列表[0]
#将文件路径添加到dict,以便知道哪个文件正在处理
数据dict['file']=str(面)
data.append(数据目录)
其他:
#添加未处理的面
data.append({'file':str(face)})
其他:
响应。针对_状态()提出_
df=json_规范化(数据)
df
输出:
faceId文件faceRectangle.top faceRectangle.left faceRectangle.width faceRectangle.height faceAttributes.emotion.anger faceAttributes.emotion.藐视faceAttributes.emotion.厌恶faceAttributes.emotion.fear faceAttributes.emotion.happiness脸属性。情感。中性脸属性。情感。悲伤脸属性。情感。惊喜
0 430ca5d7-7ec8-41d8-9bbe-466dc4f4894b E:\PythonProjects\stack_overflow\data\sad\sad_face.jpg 49.0 87.0 91.0 0 0 0 0 0.000 0.000 0.000 0.000 0.000             0.999                           0.001                            0.000
1 0db74fa5-32ee-4c59-9c5c-a5cbc82432f6 E:\PythonProjects\stack\u overflow\data\sad\sad\u face1.jpg 0.0 86.0 168.0 160.0 0 0 0.001 0.004 0.000 0.000             0.511                           0.485                            0.000
2 NaN E:\PythonProjects\stack\u overflow\data\sad\sad\u face2.jpg NaN楠楠
[{'faceAttributes': {'emotion': {'anger': 0.739,
                                 'contempt': 0.002,
                                 'disgust': 0.122,
                                 'fear': 0.0,
                                 'happiness': 0.0,
                                 'neutral': 0.136,
                                 'sadness': 0.0,
                                 'surprise': 0.0}},
  'faceId': '176613df-b4ff-47fd-8d36-696b96fcc1cb',
  'faceRectangle': {'height': 307, 'left': 95, 'top': 105, 'width': 307}}]