我有一个如下所示的示例表
我的检索代码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'
我怎样才能得到相同的?
你可以通过替换这个来得到这个
print (resp_dict.get('product_name'))
和
print (resp_dict.get('product_name')['S'])
或者
print (resp_dict.['product_name']['S'])
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句