前提・実現したいこと
dict型の値を対応する変数へ格納したいです。
Amazon Rekognitionから取得している各項目の値を、それぞれの変数に格納したいと思っています。
詳しくは「該当のソースコード」に記載してます。
よろしくお願いいたします。
該当のソースコード
Python
1import sys 2import cv2 3import numpy as np 4import time 5import pyautogui 6import boto3 7 8#一部省略 9 10while True: 11 12 emoemo = rekognition.detect_faces(Image={'Bytes':buf.tobytes()}, Attributes=['ALL'])#AWSからDict型で値を取得 13 14 for face in emoemo['FaceDetails']: 15 smile = face['Smile']['Value'] 16 emothions = face['Emotions'] 17 18 happy = emothions['Happy']['Confidence'] 19 20 print(emothions)
Amazon Rekognitionから帰ってくる値(dict型)
Emotions
1[ 2 {'Type': 'FEAR', 'Confidence': 5.205546855926514}, 3 {'Type': 'HAPPY', 'Confidence': 0.2108129858970642}, 4 {'Type': 'SAD', 'Confidence': 1.6611015796661377}, 5 {'Type': 'ANGRY', 'Confidence': 3.809321403503418}, 6 {'Type': 'CALM', 'Confidence': 7.153115272521973}, 7 {'Type': 'DISGUSTED', 'Confidence': 8.615782737731934}, 8 {'Type': 'SURPRISED', 'Confidence': 6.202803134918213}, 9 {'Type': 'CONFUSED', 'Confidence': 67.14151763916016} 10]
このような感じで'Type'には感情の文字列、'Confidence'には値が入っており、
それが8個 emothionsに入っている状態です。
これを、 'Type' : 'HAPPY' であれば、変数happy へ 'Confidence'の値を格納するようなものを作りたいです。
エラー
Python
1happy = emothions['Happy']['Confidence']
とすると
TypeError: list indices must be integers or slices, not str
とでるので、そもそも自分のとっている方法が間違っているのだと思います...
補足情報(FW/ツールのバージョンなど)
Python 3.7
boto3
回答2件
あなたの回答
tips
プレビュー