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 相关文章推荐
python实现保存网页到本地示例
Mar 16 Python
python操作摄像头截图实现远程监控的例子
Mar 25 Python
Python中endswith()函数的基本使用
Apr 07 Python
Python 遍历子文件和所有子文件夹的代码实例
Dec 21 Python
MAC中PyCharm设置python3解释器
Dec 15 Python
python使用正则表达式来获取文件名的前缀方法
Oct 21 Python
使用Filter过滤python中的日志输出的实现方法
Jul 17 Python
Python3.7安装keras和TensorFlow的教程图解
Jun 18 Python
关于Pytorch的MNIST数据集的预处理详解
Jan 10 Python
Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法详解
Mar 30 Python
使用Python将图片转正方形的两种方法实例代码详解
Apr 29 Python
Python-jenkins 获取job构建信息方式
May 12 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
欧美媒体选出10年前最流行的17部动画
2017/01/18 日漫
基于文本的访客签到簿
2006/10/09 PHP
php printf输出格式使用说明
2010/12/05 PHP
php的array数组和使用实例简明教程(容易理解)
2014/03/20 PHP
PHP Reflection API详解
2015/05/12 PHP
Laravel5.1 框架Request请求操作常见用法实例分析
2020/01/04 PHP
ko knockoutjs动态属性绑定技巧应用
2012/11/14 Javascript
浅谈jQuery事件绑定原理
2015/01/02 Javascript
jQuery实现带滚动线条导航效果的方法
2015/01/30 Javascript
JavaScript中isPrototypeOf函数作用和使用实例
2015/06/01 Javascript
js限制文本框的输入内容代码分享(3类)
2015/08/20 Javascript
jQuery移动页面开发中的触摸事件与虚拟鼠标事件简介
2015/12/03 Javascript
限制只能输入数字的实现代码
2016/05/16 Javascript
jQuery层次选择器用法示例
2016/09/09 Javascript
javascript入门之window对象【新手必看】
2016/11/22 Javascript
js实现消息滚动效果
2017/01/18 Javascript
微信小程序之发送短信倒计时功能
2017/08/30 Javascript
JS一个简单的注册页面实例
2017/09/05 Javascript
Vue中对比scoped css和css module的区别
2018/05/17 Javascript
vue观察模式浅析
2018/09/25 Javascript
jquery操作checkbox的常用方法总结【附测试源码下载】
2019/06/10 jQuery
帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
2019/08/23 Javascript
JsonServer安装及启动过程图解
2020/02/28 Javascript
[01:10:58]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
Python创建系统目录的方法
2015/03/11 Python
Python中的with...as用法介绍
2015/05/28 Python
python3.5 email实现发送邮件功能
2018/05/22 Python
Python无损压缩图片的示例代码
2020/08/06 Python
python生成word合同的实例方法
2021/01/12 Python
创意活动策划书
2014/01/15 职场文书
自动一体化专业求职信
2014/03/15 职场文书
感恩老师的演讲稿
2014/05/06 职场文书
学校做一个有道德的人活动方案
2014/08/23 职场文书
2014年班级工作总结范文
2014/12/23 职场文书
史上最牛辞职信
2015/05/13 职场文书
《这片土地是神圣的》教学反思
2016/02/16 职场文书