Попытка получить список всех атрибутов в столбце в DynamodB в Python - PullRequest
0 голосов
/ 29 января 2019

У меня есть пример таблицы, как показано ниже

enter image description here

Мой код для получения product_name такой, как показано ниже

import boto3
import json
import decimal


dynamodb = boto3.client('dynamodb')

class DecimalEncoder(json.JSONEncoder):
    def default(self, o):
        if isinstance(o, decimal.Decimal):
            if o % 1 > 0:
                return float(o)
            else:
                return int(o)
        return super(DecimalEncoder, self).default(o)

response = dynamodb.scan(
    TableName='inventory'
    )


for i in response['Items']: 
    json_str = json.dumps(i, cls=DecimalEncoder)
    resp_dict = json.loads(json_str)
    print (resp_dict.get('product_name'))

Теперь, когда я пытаюсь получить список всех product_name, я получаю следующее

{'S': 'Butter'}
{'S': 'Wine'}

, но все, что мне нужно, это получить

'Butter'
'Wine'

Как я могу получитьтак же?

1 Ответ

0 голосов
/ 29 января 2019

Вы можете получить это, заменив

print (resp_dict.get('product_name'))

на

print (resp_dict.get('product_name')['S'])

или

print (resp_dict.['product_name']['S'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...