В контексте, я использую «pandas» в python для чтения файла Excel, затем этот фрейм данных нужно вставить в базу данных Монго.Здесь нет проблем, за исключением того факта, что некоторые значения файла Excel содержат объекты datetime, которые вступили в конфликт, когда я пытаюсь вставить их в mmongoDB.
Таблица выглядит примерно так:
Таблица с данными, в которых некоторые элементы являются объектами времени.
Одна идея заключалась в том, чтобы искать все эти значения и заменять их на строки, но я не знаю, как искать в фрейме данных панд какой-либо общийОбъект datetime.time в столбце (в идеале это должно работать для любого «времени»).Также я попытался преобразовать все данные в строку, используя функцию .to_string (), но это вызывает некоторые проблемы при вставке в базу данных.
Код, который используется, выглядит примерно так:
import pandas as pd
import pymongo
mongo_client = "mongodb://localhost:27017/"
mongo_db_name = 'myDB'
collection_name = 'myCollection'
file_path = "myFile"
mng_client = pymongo.MongoClient(mongo_client)
mng_db = mng_client[mongo_db_name]
dblist = mng_client.list_database_names()
if mongo_db_name in dblist:
print("The database exists")
else:
print('The database do not exist')
print(mng_client.list_database_names())
db = mng_db[collection_name]
data = pd.read_excel(file_path, sheet_name='Sheet1')
data.to_string()
db.remove()
db.insert_many(data.to_dict('records'))
Любое предложение приветствуется.