需要的库
1.pymongo
2.csv
思路
1.连接MongoDB。
2.读取csv文件
3.csv文件的内容写入MongoDB。
代码
import pymongo
import csv
import time
def connect_mongo():
mongo_uri = 'mongodb://user_name:password@host:port/验证数据库'
client = pymongo.MongoClient(mongo_uri, readPreference='根据要求写')
db = client.数据库名称
collection = db['表名称']
return collection
def insertToMongoDB(set1):
with open('csv地址','r',encoding='utf-8') as csvfile:
# 调用csv中的DictReader函数直接获取数据为字典形式
reader = csv.DictReader(csvfile)
csv_data = []
# 创建一个counts计数一下 看自己一共添加了了多少条数据
counts = 0
index = 1
for each in reader:
csv_data.append(each)
if index==10000:#10000个之后写入MongoDB中
set1.insert(csv_data)
csv_data.clear()
index = 0
print("成功添加了" + str(counts) + "条数据")
counts+=1
index+=1
if len(csv_data)>0:#剩余的数据
set1.insert(csv_data)
print("成功添加了%s条数据"%len(csv_data))
if __name__=='__main__':
print(time.strftime('%Y-%m-%d %H:%M:%S'))#计算时间用
set1 = connect_mongo()
insertToMongoDB(set1)
print(time.strftime('%Y-%m-%d %H:%M:%S'))
这么写速度比较快,比insert_one快多了。