python Django大量匯入不重複資料

來源:互聯網
上載者:User
本文為大家分享了python Django大量匯入不重複資料的實現代碼,供大家參考,具體內容如下

程式如下:

#coding:utf-8 import os os.environ.setdefault("DJANGO_SETTINGS_MODULE", "www.settings") '''Django 版本大於等於1.7的時候,需要加上下面兩句import djangodjango.setup()否則會拋出錯誤 django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.'''import djangoimport datetimeif django.VERSION >= (1, 7):#自動判斷版本 django.setup()from keywork.models import DevData f = open('cs.csv')WorkList = []next(f) #將檔案標記移到下一行x = y = 0for line in f: parts = line.replace('"','') #將字典中的"替換空 parts = parts.split(',') #按;對字串進行切片 if DevData.objects.filter(serv_id = parts[0],day_id=parts[24]).exists():  x = x + 1 else:  y = y + 1  WorkList.append(DevData(serv_id=parts[0], serv_state_name=parts[1], acc_nbr=parts[2], user_name=parts[3], acct_code=parts[4], product_id=parts[5],       mkt_chnl_name=parts[6], mkt_chnl_id=parts[7],mkt_region_name=parts[8], mkt_region_id=parts[9],mkt_grid_name=parts[10],       sale_man=parts[11],sale_outlets_cd1_name=parts[12], completed_time=parts[13],remove_data=parts[14], user_flag=parts[15],       pro_flag=parts[16], service_offer_id=parts[17],service_offer_name=parts[18], finish_time=parts[19],staff_name=parts[20],       staff_code=parts[21],org_name=parts[22],prod_offer_name=parts[23],day_id=parts[24]       ))f.close() DevData.objects.bulk_create(WorkList)print "重複資料"+str(x)+"條,成功匯入資料"+str(y)+"條"

本文主要運用模型中exists()判斷匯入資料和資料庫是否重複,如果不重複就用bulk_create大量匯入資料庫!

可對照參考我的另一篇文章:大量匯入資料

以上就是本文的全部內容,希望對大家的學習有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.