【发布时间】:2021-06-23 06:38:12
【问题描述】:
我已经能够在下面的代码中使用 PyMongo 将数据从 csv 插入 MongoDB。
from pymongo import MongoClient
import urllib
import pandas as pd
import time
import json
client = MongoClient()
db = client.MainDB
col = db.Test
def csv_to_json(filename, header=0):
data = pd.read_csv(filename, header=header, error_bad_lines=False, warn_bad_lines=False, sep='|', low_memory=True)
return json.loads(data.to_dict(orient='records'))
try:
col.insert_many(csv_to_json('main.csv'))
except Exception as e:
print(e)
现在,我必须每天使用相同的 csv 更新此集合,但某些字段的值不同。 这是我想出的,但没有奏效。 请问我该怎么做。
from pymongo import MongoClient
import urllib
import pandas as pd
import json
import time
starttime = time.time()
client = MongoClient()
db = client.MainDB
col = db.Test
def csv_to_json(filename, header=0):
data = pd.read_csv(filename, header=header, error_bad_lines=False, warn_bad_lines=False, sep='|', low_memory=True)
return data.to_dict(orient='dict')
try:
col.update({}, csv_to_json('main.csv'),upsert=True)
except Exception as e:
print(e)
【问题讨论】:
-
使用mongoimport 工具怎么样?应该更有效率。
-
@WernfriedDomscheir 我可以在 python 脚本中使用 mongoimport 工具吗?
-
我假设您可以在 Python 中调用任意可执行文件:newbedev.com/python/howto/… 或 stackoverflow.com/questions/89228/…
-
效果更好。感谢您的想法
标签: python json pandas mongodb pymongo