最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pymongo insert_many 批量插入的實例

 更新時間:2020年12月05日 11:11:23   作者:luoganttcc  
這篇文章主要介紹了pymongo insert_many 批量插入的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

我就廢話不多說了,大家還是直接看代碼吧~

lt=client.fangjia.district_stat_all_0416
dl = dt.find(query)

bf=[]
for m in dl:
  bf.append(m)
  if len(bf)==20000:
    lt.insert_many(bf)
    bf=[]
lt.insert_many(bf)

補(bǔ)充知識:Python操作Mongodb插入數(shù)據(jù)的兩種方法:insert_one()與insert_many()

代碼說明:

將mysql中table的數(shù)據(jù)插入到mongodb里

sys.setdefaultencoding('utf8')
import web
from pymongo import MongoClient
class getPltfList(object):
  def __init__(self):
    self.db1 = web.database(dbn='mysql', db = 'episode', user = 'root', pw= 'abc111--', host = '127.0.0.1')
    self.db1.printing = False
    self.db2 = web.database(dbn='mysql', db = 'episode_soc', user = 'root', pw= 'abc111--', host = '127.0.0.1')
    self.db2.printing = False
    self.db3 = web.database(dbn='mysql', db = 'cl_episode', user = 'root', pw= 'abc111--', host = '127.0.0.1')
    self.db3.printing = False
    self.db4 = web.database(dbn='mysql', db = 'cl_episode_soc', user = 'root', pw= 'abc111--', host = '127.0.0.1')
    self.db4.printing = False
  def __call__(self):
    return self.createPltfList()

  def createPltfList(self):
    self.ckpltfList = list(self.db1.query('select name, ip from EPISODE_PLTF_INFO order by id DESC'))
    self.ckpltfList += list(self.db2.query('select name, ip from EPISODE_PLTF_INFO order by id DESC'))
    self.clpltfList = list(self.db3.query('select name, ip from EPISODE_PLTF_INFO order by id DESC'))
    self.clpltfList += list(self.db4.query('select name, ip from EPISODE_PLTF_INFO order by id DESC'))

    return self.ckpltfList,self.clpltfList

if __name__ == '__main__' :
  mpList = list()
  flag = 0
  tmp = 0
  sum1 = 0
  sum2 = 0
  pltfList = getPltfList()()
  client = MongoClient("127.0.0.1", 27017)
  mdb = client.episode
  collection = mdb.pltf_basic_info
  # print (type(pltfList[1])) #list
  result= list()
  for pltf_my in pltfList[0]:
    pltf_mog = collection.find()
    for record in pltf_mog:
      IP = record.get('Cfg').get('Debug_IP')
      Name = record.get('Cfg').get('Register_Name')
      # print IP, Name
      if IP == pltf_my['ip'] and Name == pltf_my['name'] :
        flag = 1
        # print IP, Name
        break
      else:
        flag = 0

    if flag == 0 :
      data1 = {"Cfg" : {"Debug_IP" : pltf_my['ip'],"Register_Name":pltf_my['name'], "Site":"SH-CK"} }
      # print data1
      result.append((data1))
      # collection.insert_one(data1)
      # collection.delete_one(data)
      sum1 = sum1+1
  # print len(result)
  # collection.insert_many(result)
  for pltf_my in pltfList[1]:
    pltf_mog = collection.find()
    for record in pltf_mog:
      IP = record.get('Cfg').get('Debug_IP')
      Name = record.get('Cfg').get('Register_Name')
      if pltf_my['ip'].encode("utf-8") == IP.encode("utf-8") and pltf_my['name'].encode("utf-8") == Name.encode("utf-8") :
        tmp = 1
        # print IP, Name
        break
      else:
        tmp = 0

    if tmp == 0 :
      data2 = {"Cfg" : {"Debug_IP":pltf_my['ip'],"Register_Name":pltf_my['name'], "Site":"SH-CL"} }
      # print data2
      result.append((data2))

      # collection.insert_one(data2)
      # collection.delete_one(data)
      sum2 = sum2+1

  collection.insert_many(result)
  print sum1,sum2

剛開始的時候我使用的是insert_one()方法,一條一條的插入到mongodb的集合里,但是計算出的sum有出入。

在調(diào)試的過程中我發(fā)現(xiàn):

注釋掉 # collection.insert_one(data1) # collection.insert_one(data2)

計算出來的sum1 = 193 sum2 = 222 這是合理的,因為ck_mysql里有193條記錄,cl_mysql里有234條記錄,mongod里有總共有15條,但是12條是與cl_mysql重復(fù),所以正確。

但是當(dāng)我去掉注釋使用 collection.insert_one(data1) collection.insert_one(data2)時,打印出的sum1=181 sum2 = 213

也就是說少了幾個數(shù)據(jù),我不知道去哪了。

想了好多辦法,于是采用insert_many()的方法插入。先定義一個list(),將每個數(shù)據(jù)(數(shù)據(jù)的類型是dict)追加到list里:reslult.append(data1/data2),最后result里就會含有所有的數(shù)據(jù),一起插入。

于是乎,問題解決了。

可是我還是很困惑insert_one()哪里出問題了?。。。。?!

以上這篇pymongo insert_many 批量插入的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何修改Jupyter工作路徑(已安裝Anaconda)

    如何修改Jupyter工作路徑(已安裝Anaconda)

    這篇文章主要介紹了如何修改Jupyter工作路徑問題(已安裝Anaconda),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 基于Python實現(xiàn)千圖成像工具的示例代碼

    基于Python實現(xiàn)千圖成像工具的示例代碼

    千圖成像也就是用N張圖片組成一張圖片的效果。這篇文章將利用Python語言編寫一個簡單的千圖成像工具,感興趣的小伙伴可以了解一下
    2022-07-07
  • Python和JavaScript間代碼轉(zhuǎn)換的4個工具

    Python和JavaScript間代碼轉(zhuǎn)換的4個工具

    JavaScript 已經(jīng)成為眾多其它編程語言爭相選擇的轉(zhuǎn)換目標(biāo)(相關(guān)實例包括 TypeScript、Emscripten、Cor 以及 Cheerp)。而 Python 則擁有龐大的追隨者群體,另外現(xiàn)有的強(qiáng)大庫資源則使其成為面向 JavaScript 的理想待轉(zhuǎn)換或者說轉(zhuǎn)譯選項
    2016-02-02
  • 詳解python中的IO操作方法

    詳解python中的IO操作方法

    這篇文章主要介紹了Python實現(xiàn)IO操作的示例,是python入門必會得知識點,將幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2022-01-01
  • wxPython:python首選的GUI庫實例分享

    wxPython:python首選的GUI庫實例分享

    wxPython是Python語言的一套優(yōu)秀的GUI圖形庫。允許Python程序員很方便的創(chuàng)建完整的、功能鍵全的GUI用戶界面。 wxPython是作為優(yōu)秀的跨平臺GUI庫wxWidgets的Python封裝和Python模塊的方式提供給用戶的
    2019-10-10
  • Python入門_淺談字符串的分片與索引、字符串的方法

    Python入門_淺談字符串的分片與索引、字符串的方法

    下面小編就為大家?guī)硪黄狿ython入門_淺談字符串的分片與索引、字符串的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • python RC4加密操作示例【測試可用】

    python RC4加密操作示例【測試可用】

    這篇文章主要介紹了python RC4加密操作,結(jié)合實例形式分析了python實現(xiàn)RC4加密功能的具體操作步驟與相關(guān)問題解決方法,需要的朋友可以參考下
    2019-09-09
  • python 實現(xiàn)創(chuàng)建文件夾和創(chuàng)建日志文件的方法

    python 實現(xiàn)創(chuàng)建文件夾和創(chuàng)建日志文件的方法

    這篇文章主要介紹了python 實現(xiàn)創(chuàng)建文件夾和創(chuàng)建日志文件的方法,文中給大家介紹了python 讀寫創(chuàng)建文件文件夾的方法 ,需要的朋友可以參考下
    2019-07-07
  • 從零開始安裝Conda并搭建Python環(huán)境的全過程

    從零開始安裝Conda并搭建Python環(huán)境的全過程

    conda是一個開源的包、環(huán)境管理器,可以用于在同一個機(jī)器上創(chuàng)建不同的虛擬環(huán)境,這篇文章主要介紹了安裝Conda并搭建Python環(huán)境的相關(guān)資料,需要的朋友可以參考下
    2025-04-04
  • 在unittest中使用 logging 模塊記錄測試數(shù)據(jù)的方法

    在unittest中使用 logging 模塊記錄測試數(shù)據(jù)的方法

    今天小編就為大家分享一篇在unittest中使用 logging 模塊記錄測試數(shù)據(jù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11

最新評論

贵阳市| 泊头市| 武夷山市| 五寨县| 营口市| 桐庐县| 临海市| 安宁市| 江北区| 正蓝旗| 嘉定区| 昆山市| 隆林| 稷山县| 商都县| 隆林| 西乌| 体育| 台东县| 甘洛县| 新田县| 海盐县| 祁东县| 甘南县| 平泉县| 德格县| 云和县| 印江| 富民县| 巴彦淖尔市| 山阴县| 轮台县| 信阳市| 同德县| 芮城县| 县级市| 安义县| 共和县| 河津市| 南丹县| 元江|