У меня есть CSV-файл "data.csv" со следующими данными:
Я сейчас пытаюсь загрузить этот CSV в MongoDB с кодом ниже:
import pandas as pd
import os
path="/Users/xxxx/Desktop/" -- Filepath
os.chdir(path)
from pymongo import MongoClient
client = MongoClient('internal-xxx.xxx.ai:1234',
username='xxx',
password='xxx',
authMechanism='SCRAM-SHA-1')
db=client["dbname"]
-- Creating a new collection with name "collectionname"
db_c=db["collectionname"]
x=db_c.count_documents({}) -- Since its new one the count will be empty
def csv_to_json(filename, header=None):
data = pd.read_csv(filename, header=header)
return data.to_dict('records')
print(csv_to_json('inspector1.csv'))
-- Below is the print result
# [{0: 'RAISED_BY', 1: 'RAISED_ON', 2: 'A', 3: 'B', 4: 'C'},
# {0: '32050', 1: '3/5/20', 2: '0', 3: '0', 4: '50'},
# {0: '32217', 1: '3/5/20', 2: '0', 3: '0', 4: '6'},
# {0: '46212', 1: '3/5/20', 2: '0', 3: '0', 4: '7'},
# {0: '31871', 1: '3/5/20', 2: '0', 3: '0', 4: '6'},
# {0: '32567', 1: '3/5/20', 2: '0', 3: '0', 4: '6'}]
db_c.insert_many(csv_to_json('inspector.csv'))
# Error encountered : InvalidDocument: documents must have only string keys, key was 0
Я думаю, что проблема заключается в преобразовании CSV в json, почему я получаю 0:, 1:, 2 :, et c .. in фронт всех элементов данных. Можете ли вы, ребята, помочь мне в сортировке этого? По сути, я хотел вставить свои CSV-файлы в Mon go DB?