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中pass语句用法实例分析
Apr 30 Python
python实现数据预处理之填充缺失值的示例
Dec 22 Python
详解pyqt5 动画在QThread线程中无法运行问题
May 05 Python
python3使用SMTP发送简单文本邮件
Jun 19 Python
PyQt5下拉式复选框QComboCheckBox的实例
Jun 25 Python
Django数据结果集序列化并展示实现过程
Apr 22 Python
Keras 快速解决OOM超内存的问题
Jun 11 Python
pytorch 如何把图像数据集进行划分成train,test和val
May 31 Python
Django集成富文本编辑器summernote的实现步骤
May 31 Python
OpenCV-Python实现轮廓拟合
Jun 08 Python
OpenCV项目实践之停车场车位实时检测
Apr 11 Python
python 镜像环境搭建总结
Sep 23 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显示MySQL数据的三种方法
2008/06/05 PHP
使用php 获取时间今天明天昨天时间戳的详解
2013/06/20 PHP
php加密解密函数authcode的用法详细解析
2013/10/28 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
如何在PHP中生成随机数
2020/06/04 PHP
jquery插件之easing使用
2010/08/19 Javascript
jquery模拟按下回车实现代码
2011/09/20 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
2016/07/09 Javascript
AngularJS实现一次监听多个值发生的变化
2016/08/31 Javascript
JS公共小方法之判断对象是否为domElement的实例
2016/11/25 Javascript
JavaScript html5利用FileReader实现上传功能
2020/03/27 Javascript
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
2017/06/09 jQuery
基于jQuery选择器之表单对象属性筛选选择器的实例
2017/09/19 jQuery
Angularjs cookie 操作实例详解
2017/09/27 Javascript
React组件重构之嵌套+继承及高阶组件详解
2018/07/19 Javascript
es6中Promise 对象基本功能与用法实例分析
2020/02/23 Javascript
《javascript设计模式》学习笔记一:Javascript面向对象程序设计对象成员的定义分析
2020/04/07 Javascript
详解VUE中的插值( Interpolation)语法
2020/10/18 Javascript
[42:11]TNC vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python中的闭包详细介绍和实例
2014/11/21 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
Django的分页器实例(paginator)
2017/12/01 Python
python中不能连接超时的问题及解决方法
2018/06/10 Python
详解Python中的正则表达式
2018/07/08 Python
python3调用百度翻译API实现实时翻译
2018/08/16 Python
python样条插值的实现代码
2018/12/17 Python
python调用虹软2.0第三版的具体使用
2019/02/22 Python
Python面向对象程序设计构造函数和析构函数用法分析
2019/04/12 Python
python实现一个简单RPC框架的示例
2020/10/28 Python
大学毕业感言
2014/01/10 职场文书
给分销商的致歉信
2014/01/14 职场文书
2014预备党员批评与自我批评思想汇报
2014/09/20 职场文书
公司离职证明标准格式
2014/11/18 职场文书
农民工工资承诺书大全
2015/05/04 职场文书
高三数学复习备考教学反思
2016/02/18 职场文书
在python中实现导入一个需要传参的模块
2021/05/12 Python