python Django批量導(dǎo)入不重復(fù)數(shù)據(jù)
本文為大家分享了python Django批量導(dǎo)入不重復(fù)數(shù)據(jù)的實(shí)現(xiàn)代碼,供大家參考,具體內(nèi)容如下
程序如下:
#coding:utf-8
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "www.settings")
'''
Django 版本大于等于1.7的時(shí)候,需要加上下面兩句
import django
django.setup()
否則會(huì)拋出錯(cuò)誤 django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.
'''
import django
import datetime
if django.VERSION >= (1, 7):#自動(dòng)判斷版本
django.setup()
from keywork.models import DevData
f = open('cs.csv')
WorkList = []
next(f) #將文件標(biāo)記移到下一行
x = y = 0
for line in f:
parts = line.replace('"','') #將字典中的"替換空
parts = parts.split(',') #按;對字符串進(jìn)行切片
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 "重復(fù)數(shù)據(jù)"+str(x)+"條,成功導(dǎo)入數(shù)據(jù)"+str(y)+"條"
本文主要運(yùn)用模型中exists()判斷導(dǎo)入數(shù)據(jù)和數(shù)據(jù)庫是否重復(fù),如果不重復(fù)就用bulk_create批量導(dǎo)入數(shù)據(jù)庫!
可對照參考我的另一篇文章:批量導(dǎo)入數(shù)據(jù)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。
- Python實(shí)現(xiàn)去除Excel重復(fù)數(shù)據(jù)并統(tǒng)計(jì)重復(fù)次數(shù)
- Python?生成多行重復(fù)數(shù)據(jù)的方法實(shí)現(xiàn)
- python列表返回重復(fù)數(shù)據(jù)的下標(biāo)
- Python對多屬性的重復(fù)數(shù)據(jù)去重實(shí)例
- python實(shí)現(xiàn)查找excel里某一列重復(fù)數(shù)據(jù)并且剔除后打印的方法
- python中查找excel某一列的重復(fù)數(shù)據(jù) 剔除之后打印
- Python-pandas返回重復(fù)數(shù)據(jù)的index問題
相關(guān)文章
Python中橫向或縱向拼接兩個(gè)表方法實(shí)例
最近要將兩個(gè)表格合并,Python處理起來很簡單,所以這篇文章主要給大家介紹了關(guān)于Python中橫向或縱向拼接兩個(gè)表的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07
Selenium+Python自動(dòng)化腳本環(huán)境搭建的全過程
說到自動(dòng)化測試,就不得不提大名鼎鼎的Selenium,Selenium 是如今最常用的自動(dòng)化測試工具之一,支持快速開發(fā)自動(dòng)化測試框架,且支持在多種瀏覽器上執(zhí)行測試,下面這篇文章主要給大家介紹了關(guān)于Selenium+Python自動(dòng)化腳本環(huán)境搭建的相關(guān)資料,需要的朋友可以參考下2021-09-09
Caffe卷積神經(jīng)網(wǎng)絡(luò)視覺層Vision?Layers及參數(shù)詳解
這篇文章主要為大家介紹了Caffe卷積神經(jīng)網(wǎng)絡(luò)視覺層Vision?Layers及參數(shù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Python生成六萬個(gè)隨機(jī),唯一的8位數(shù)字和數(shù)字組成的隨機(jī)字符串實(shí)例
今天小編就為大家分享一篇Python生成六萬個(gè)隨機(jī),唯一的8位數(shù)字和數(shù)字組成的隨機(jī)字符串實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
教你用Python為二年級的學(xué)生批量生成數(shù)學(xué)題
這兩天在學(xué)習(xí)pthon,正好遇到老師布置的暑假作業(yè),需要家長給還在出試卷,下面這篇文章主要給大家介紹了關(guān)于如何用Python為二年級的學(xué)生批量生成數(shù)學(xué)題的相關(guān)資料,需要的朋友可以參考下2023-02-02
Jupyter Notebook如何導(dǎo)入python文件時(shí)的問題
這篇文章主要介紹了Jupyter Notebook如何導(dǎo)入python文件時(shí)的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07

