python Django批量導入不重復數(shù)據(jù)
本文為大家分享了python Django批量導入不重復數(shù)據(jù)的實現(xiàn)代碼,供大家參考,具體內容如下
程序如下:
#coding:utf-8
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "www.settings")
'''
Django 版本大于等于1.7的時候,需要加上下面兩句
import django
django.setup()
否則會拋出錯誤 django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.
'''
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:
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 "重復數(shù)據(jù)"+str(x)+"條,成功導入數(shù)據(jù)"+str(y)+"條"
本文主要運用模型中exists()判斷導入數(shù)據(jù)和數(shù)據(jù)庫是否重復,如果不重復就用bulk_create批量導入數(shù)據(jù)庫!
可對照參考我的另一篇文章:批量導入數(shù)據(jù)
以上就是本文的全部內容,希望對大家的學習有所幫助。
相關文章
Python實現(xiàn)檢測文件的MD5值來查找重復文件案例
這篇文章主要介紹了Python實現(xiàn)檢測文件的MD5值來查找重復文件案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
python中字典dict排序sorted的實現(xiàn)
本文主要介紹了python中字典dict排序sorted的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-05-05
Python中Jieba進行詞頻統(tǒng)計與關鍵詞提取
本文主要介紹了Python中Jieba進行詞頻統(tǒng)計與關鍵詞提取,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-03-03
Eclipse和PyDev搭建完美Python開發(fā)環(huán)境教程(Windows篇)
這篇文章主要介紹了Eclipse和PyDev搭建完美Python開發(fā)環(huán)境教程(Windows篇),具有一定的參考價值,感興趣的小伙伴可以了解一下。2016-11-11
基于python計算滾動方差(標準差)talib和pd.rolling函數(shù)差異詳解
這篇文章主要介紹了基于python計算滾動方差(標準差)talib和pd.rolling函數(shù)差異詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06

