diango 批量匯入不重複資料

2022-05-13 01:20:34 字數 1609 閱讀 7437

去年研究匯入資料的時候寫了乙個批量匯入資料的指令碼,但有個問題,如果匯入這批資料在資料庫中已經存在,那麼我們匯入的資料不就重複了麼,本文就討論如何解決這個問題?

程式如下:

#

coding:utf-8

import

os os.environ.setdefault(

"django_settings_module

", "

www.settings")

'''django 版本大於等於1.7的時候,需要加上下面兩句

import django

django.setup()

'''import

django

import

datetime

if django.version >= (1, 7):#

自動判斷版本

django.setup()

from keywork.models import

devdata

f = open('

cs.csv')

worklist =

next(f)

#將檔案標記移到下一行

x = y =0

for 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

: 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批量匯入資料庫!

完畢!

mysql批量插入不重複資料

1.設定唯一建 前提是 有唯一建可用,but基本很難有這樣的場景。datum有唯一建。create table datum id int 11 notnull auto increment mid int 11 notnull default 0 rong liang varchar 255 col...

「不重複數」問題

1 如果乙個數字十進位制表達時,不存在連續兩位相同,則稱之為 不重複數 例如,105 1234 12121都是不重複數,而11 100 1225不是。給定乙個正整數a,返回大於a的最小不重複數。a小於100000.示例 輸入 value 21099 返回 21201 本題的難點不在於判斷是否是不重複...

不重複數字

operatorname luogup 4305 給定 n nn 個數,要求把其中重複的去掉,只保留第一次出現的數。本題有多組資料。第一行乙個整數 t tt 表示資料組數。對於每組資料 第一行乙個整數 n nn 第二行 n nn 個數,表示給定的數。對於每組資料,輸出一行,為去重後剩下的數,兩個數之...