from pymongo import MongoClient
import csv
# 创建连接MongoDB数据库函数
def connection():
# 1:连接本地MongoDB数据库服务
conn=MongoClient("localhost",27017)
# 2:连接本地数据库(guazidata)。没有时会自动创建
db=conn.python
# 3:创建集合
set1=db.data
# 4:授权
db.authenticate(name='zhaochuan', password='123456', source='admin')
return set1
def insertToMongoDB(set1):
# 打开文件 xxx.csv
with open('taset.csv','r',encoding='utf-8')as csvfile:
# 调用csv中的DictReader函数直接获取数据为字典形式
reader=csv.DictReader(csvfile)
# 创建一个counts计数一下 看自己一共添加了了多少条数据
counts=0
for each in reader:
# 将数据中需要转换类型的数据转换类型。原本全是字符串(string)。
each['name']=str(each['name'])
each['price']=float(each['price'])
each['count']=float(each['count'])
set1.insert(each)
counts+=1
print('成功添加了'+str(counts)+'条数据 ')
# 创建主函数
def main():
set1=connection()
insertToMongoDB(set1)
# 判断是不是调用的main函数。这样以后调用的时候就可以防止不会多次调用 或者函数调用错误
if __name__=='__main__':
main()
读取mongo数据库,写入csv文件
import pymongo
from pandas import DataFrame
#连接数据库
client = pymongo.MongoClient('localhost',27017)
db = client['python']
# 授权
db.authenticate(name='zhaochuan',password='123456',source='admin')
info = db['zhao']
#加载数据
data = DataFrame(list(info.find()))
# 写入CSV文件
data.to_csv('NBA.csv')