python Django批量导入不重复数据


Posted in Python onMarch 25, 2016

本文为大家分享了python Django批量导入不重复数据的实现代码,供大家参考,具体内容如下

程序如下:

#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 "重复数据"+str(x)+"条,成功导入数据"+str(y)+"条"

本文主要运用模型中exists()判断导入数据和数据库是否重复,如果不重复就用bulk_create批量导入数据库!

可对照参考我的另一篇文章:批量导入数据

以上就是本文的全部内容,希望对大家的学习有所帮助。

Python 相关文章推荐
pip install urllib2不能安装的解决方法
Jun 12 Python
使用 Python 实现文件递归遍历的三种方式
Jul 18 Python
python 处理string到hex脚本的方法
Oct 26 Python
python opencv判断图像是否为空的实例
Jan 26 Python
Django urls.py重构及参数传递详解
Jul 23 Python
树莓派4B+opencv4+python 打开摄像头的实现方法
Oct 18 Python
flask实现验证码并验证功能
Dec 05 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
Feb 23 Python
Python Django form 组件动态从数据库取choices数据实例
May 19 Python
python 实现关联规则算法Apriori的示例
Sep 30 Python
Python离线安装各种库及pip的方法
Nov 28 Python
python 实现数据库中数据添加、查询与更新的示例代码
Dec 07 Python
用Python实现斐波那契(Fibonacci)函数
Mar 25 #Python
Python基础教程之正则表达式基本语法以及re模块
Mar 25 #Python
详解Python使用simplejson模块解析JSON的方法
Mar 24 #Python
解决Python出现_warn_unsafe_extraction问题的方法
Mar 24 #Python
python 回调函数和回调方法的实现分析
Mar 23 #Python
python 时间戳与格式化时间的转化实现代码
Mar 23 #Python
python各种语言间时间的转化实现代码
Mar 23 #Python
You might like
php实现专业获取网站SEO信息类实例
2015/04/02 PHP
PHP面试题之文件目录操作
2015/10/15 PHP
PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)
2016/12/02 PHP
javascript suggest效果 自动完成实现代码分享
2012/02/17 Javascript
jQuery事件绑定.on()简要概述及应用
2013/02/07 Javascript
javascript一元操作符(递增、递减)使用示例
2013/08/07 Javascript
thinkphp中常用的系统常量和系统变量
2014/03/05 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
2015/03/04 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
js获得当前系统日期时间的方法
2015/05/06 Javascript
JavaScript中Cookies的相关使用教程
2015/06/04 Javascript
关于json字符串与实体之间的严格验证代码
2016/11/10 Javascript
jQuery插件zTree实现获取当前选中节点在同级节点中序号的方法
2017/03/08 Javascript
vue移动端裁剪图片结合插件Cropper的使用实例代码
2017/07/10 Javascript
VUE中的无限循环代码解析
2017/09/22 Javascript
完美解决axios在ie下的兼容性问题
2018/03/05 Javascript
让Vue也可以使用Redux的方法
2018/05/23 Javascript
jQuery实现文本显示一段时间后隐藏的方法分析
2019/06/20 jQuery
Python文件和目录操作详解
2015/02/08 Python
Python中常见的数据类型小结
2015/08/29 Python
基于python的七种经典排序算法(推荐)
2016/12/08 Python
JSON Web Tokens的实现原理
2017/04/02 Python
django session完成状态保持的方法
2018/11/27 Python
python实现数据清洗(缺失值与异常值处理)
2019/12/02 Python
jupyter 导入csv文件方式
2020/04/21 Python
Python实例教程之检索输出月份日历表
2020/12/16 Python
python实现银行账户系统
2021/02/22 Python
英国、欧洲和全球租车服务:Avis英国
2016/08/29 全球购物
联想英国官网:Lenovo英国
2019/07/17 全球购物
介绍一下Linux文件的记录形式
2012/04/18 面试题
消防器材管理制度
2014/01/28 职场文书
班主任寄语大全
2014/04/04 职场文书
银行催款通知书
2015/04/17 职场文书
Spring Boot 使用 Spring-Retry 进行重试框架
2022/04/24 Java/Android
关于pytest结合csv模块实现csv格式的数据驱动问题
2022/05/30 Python
JS前端轻量fabric.js系列物体基类
2022/08/05 Javascript