Gar*_*ead 29 python amazon-dynamodb boto3
我使用 Python 3.7 将数据存储在 DynamoDB 数据库中,当我尝试将项目写入数据库时遇到以下错误消息:
Float types are not supported. Use Decimal types instead.
Run Code Online (Sandbox Code Playgroud)
我的代码:
ddb_table = my_client.Table(table_name)
with ddb_table.batch_writer() as batch:
for item in items:
item_to_put: dict = json.loads(json.dumps(item), parse_float=Decimal)
# Send record to database.
batch.put_item(Item=item_to_put)
Run Code Online (Sandbox Code Playgroud)
“items”是 Python 字典的列表。如果我打印出“item_to_put”字典的类型,它们都是 str 类型。
预先感谢您的任何帮助。
小智 49
将所有浮点数转换为十进制
import json
from decimal import Decimal
item = json.loads(json.dumps(item), parse_float=Decimal)
table.put_item(
Item=item
)
Run Code Online (Sandbox Code Playgroud)
小智 8
遇到了同样的问题,结果发现 Python 将字符串参数作为其他参数传递。当我将所有项目包装在 str() 中时,问题就消失了。
| 归档时间: |
|
| 查看次数: |
31069 次 |
| 最近记录: |