3 回答

TA贡献1775条经验 获得超11个赞
如果您不想引入外部依赖项,可以使用此处Table
描述的类。
import boto3
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('users')
response = table.get_item(
Key={
'username': 'janedoe',
'last_name': 'Doe'
}
)
item = response['Item']
print(item)
预期输出:
{u'username': u'janedoe',
u'first_name': u'Jane',
u'last_name': u'Doe',
u'account_type': u'standard_user',
u'age': Decimal('25')}
但我个人每次听到有关 Python 和 DynamoDB 的偏好是使用 PynamoDB:https ://pynamodb.readthedocs.io/en/latest/这是 DynamoDB 的一种 ORM。

TA贡献1805条经验 获得超10个赞
Mayank 的上述回答似乎效果很好,但我也想映射我想在列表中返回的字段。因此我映射了字段,然后能够得到我正在寻找的结果
FIELD_MAP = ['firstName', 'lastName',
'clientName']
for field_obj in response['Items']:
for key in FIELD_MAP:
if field_obj.get(key):
obj = (field_obj.get(key))
for i in obj:
value = obj[i]
db_result.append({key: value})
print(db_result)

TA贡献1788条经验 获得超4个赞
像这样的东西可以工作,你不需要关心内部密钥(S在你的情况下):
In [1018]: d = {}
In [1016]: for i in Data:
...: for k,v in i.items():
...: if k != 'id':
...: if isinstance(v, dict):
...: for j, val in v.items():
...: d[k] = val
...:
In [1024]: d
Out[1024]: {'FirstName': 'Prashanth', 'LastName': 'Wadeyar', 'ClientName': 'Test'}
添加回答
举报