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中使用gzip模块压缩文件的简单教程
Apr 08 Python
Python的Django框架中的URL配置与松耦合
Jul 15 Python
python实现教务管理系统
Mar 12 Python
python实现音乐下载器
Apr 15 Python
python matlibplot绘制3D图形
Jul 02 Python
python中的json总结
Oct 11 Python
python实现诗歌游戏(类继承)
Feb 26 Python
django框架面向对象ORM模型继承用法实例分析
Jul 29 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
Sep 29 Python
使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)
Apr 30 Python
Python绘制动态水球图过程详解
Jun 03 Python
python怎么对数字进行过滤
Jul 05 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
关于js和php对url编码的处理方法
2014/03/04 PHP
php实现快速排序的三种方法分享
2014/03/12 PHP
PHP中常用的数组操作方法笔记整理
2016/05/16 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
2020/03/18 PHP
ModelDialog JavaScript模态对话框类代码
2011/04/17 Javascript
javascript实现动态导入js与css等静态资源文件的方法
2015/07/25 Javascript
jquery对复选框(checkbox)的操作汇总
2016/01/13 Javascript
源码分析Vue.js的监听实现教程
2017/04/23 Javascript
es6学习笔记之Async函数基本教程
2017/05/11 Javascript
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
2017/08/10 Javascript
详解Vue2.0 事件派发与接收
2017/09/05 Javascript
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
2017/12/24 jQuery
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
2018/08/28 Javascript
[01:18]DOTA2超级联赛专访hanci ForLove淘汰感言曝光
2013/06/04 DOTA
[01:10]为家乡而战!完美世界城市挑战赛全国总决赛花絮
2019/07/25 DOTA
python读取oracle函数返回值
2016/07/18 Python
Python给你的头像加上圣诞帽
2018/01/04 Python
Python实现简单http服务器
2018/04/12 Python
Python之时间和日期使用小结
2019/02/14 Python
在PYQT5中QscrollArea(滚动条)的使用方法
2019/06/14 Python
python字符串中匹配数字的正则表达式
2019/07/03 Python
python实现代码统计程序
2019/09/19 Python
Python3.6 + TensorFlow 安装配置图文教程(Windows 64 bit)
2020/02/24 Python
520使用Python实现“我爱你”表白
2020/05/20 Python
Python使用文件操作实现一个XX信息管理系统的示例
2020/07/02 Python
分享unittest单元测试框架中几种常用的用例加载方法
2020/12/02 Python
英国Amara家居法国网站:家居装饰,现代装饰和豪华礼品
2016/12/15 全球购物
基层党员对照检查材料
2014/08/25 职场文书
教师节标语大全
2014/10/07 职场文书
领导干部作风整顿个人剖析材料
2014/10/11 职场文书
仓库保管员岗位职责
2015/02/09 职场文书
教师创先争优承诺书
2015/04/27 职场文书
2015年超市工作总结范文
2015/05/26 职场文书
2015年暑期社会实践方案
2015/07/14 职场文书
angular4实现带搜索的下拉框
2022/03/25 Javascript