Я начинаю использовать Python в своей повседневной работе, я нашел проблему, которую не могу решить.С помощью этого сценария, изменяя только имя коллекции (MongoDB) и имя таблицы (DynamoDB), весь процесс очень хорошо выполняется в других коллекциях.
В одной коллекции (пример ниже) сценарийне работает так хорошо, потому что в коллекции есть плавающие данные, такие как данные геолокации
import sys
# Mongo
import pprint
from pymongo import MongoClient
Client = MongoClient('mongodb://localhost:27017/')
db = Client["developer"]
collection = db["geolocation"]
# Dynamo
import boto3
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('geolocation')
# migrate
count = 0
with table.batch_writer() as batch:
for migrate in collection.find():
del migrate['__v']
del migrate['_id']
batch.put_item(Item= migrate)
# To show process
count += 1
print(str(collection.count()) + '::' + str(count))
Произошла ошибка: типы с плавающей точкой не поддерживаются.Вместо этого используйте десятичные типы .
Мне нужно помочь создать def, который сканирует объект и заменяет значение с плавающей запятой на десятичные.Кто-нибудь может мне помочь?