python中csv檔案中資料新增到MongoDB資料庫
阿新 • • 發佈:2018-12-16
使用csv中的DictReader函式讀取
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/10/21 11:31 # @Author : deli Guo # @Site : # @File : csv檔案存入mongoDB.py # @Software : PyCharm # 導包 from pymongo import MongoClient import csv # 建立連線MongoDB資料庫函式 def connection(): # 1:連線本地MongoDB資料庫服務 conn=MongoClient("localhost") # 2:連線本地資料庫(guazidata)。沒有時會自動建立 db=conn.guazidata # 3:建立集合 set1=db.data # 4:看情況是否選擇清空(兩種清空方式,第一種不行的情況下,選擇第二種) #第一種直接remove set1.remove(None) #第二種remove不好用的時候 # set1.delete_many({}) return set1 def insertToMongoDB(set1): # 開啟檔案guazi.csv with open('guazi.csv','r',encoding='utf-8')as csvfile: # 呼叫csv中的DictReader函式直接獲取資料為字典形式 reader=csv.DictReader(csvfile) # 建立一個counts計數一下 看自己一共添加了了多少條資料 counts=0 for each in reader: # 將資料中需要轉換型別的資料轉換型別。原本全是字串(string)。 each['index']=int(each['index']) each['價格']=float(each['價格']) each['原價']=float(each['原價']) each['上牌時間']=int(each['上牌時間']) each['表顯里程']=float(each['表顯里程']) each['排量']=float(each['排量']) each['過戶數量']=int(each['過戶數量']) set1.insert(each) counts+=1 print('成功添加了'+str(counts)+'條資料 ') # 建立主函式 def main(): set1=connection() insertToMongoDB(set1) # 判斷是不是呼叫的main函式。這樣以後呼叫的時候就可以防止不會多次呼叫 或者函式呼叫錯誤 if __name__=='__main__': main()