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中的strftime()方法的使用
May 22 Python
Python爬取网易云音乐上评论火爆的歌曲
Jan 19 Python
利用Python进行异常值分析实例代码
Dec 07 Python
Python 3.x 安装opencv+opencv_contrib的操作方法
Apr 02 Python
django数据关系一对多、多对多模型、自关联的建立
Jul 24 Python
python程序 线程队列queue使用方法解析
Sep 23 Python
Python3+Requests+Excel完整接口自动化测试框架的实现
Oct 11 Python
pytorch的梯度计算以及backward方法详解
Jan 10 Python
jupyter notebook 增加kernel教程
Apr 10 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
Jul 13 Python
Python 下载Bing壁纸的示例
Sep 29 Python
python 模拟登陆163邮箱
Dec 15 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验证码函数的使用示例
2013/05/03 PHP
Laravel学习教程之IOC容器的介绍与用例
2017/08/15 PHP
php微信开发之图片回复功能
2018/06/14 PHP
jquery.pagination.js 无刷新分页实现步骤分享
2012/05/23 Javascript
调用innerHTML之后onclick失效问题的解决方法
2014/01/28 Javascript
JS调试必备的5个debug技巧
2014/03/07 Javascript
JS实现生成会变大变小的圆环实例
2015/08/05 Javascript
jQuery实现简单的图片查看器
2020/09/11 Javascript
Input文本框随着输入内容多少自动延伸的实现
2017/02/15 Javascript
微信小程序图片选择、上传到服务器、预览(PHP)实现实例
2017/05/11 Javascript
Vue项目pdf(base64)转图片遇到的问题及解决方法
2018/10/19 Javascript
VUE+elementui组件在table-cell单元格中绘制微型echarts图
2020/04/20 Javascript
解决vue项目axios每次请求session不一致的问题
2020/10/24 Javascript
Vant 在vue-cli 4.x中按需加载操作
2020/11/05 Javascript
JavaScript 声明私有变量的两种方式
2021/02/05 Javascript
python版本坑:md5例子(python2与python3中md5区别)
2017/06/20 Python
python实现给微信公众号发送消息的方法
2017/06/30 Python
Pytorch GPU显存充足却显示out of memory的解决方式
2020/01/13 Python
pytorch模型存储的2种实现方法
2020/02/14 Python
python实现经纬度采样的示例代码
2020/12/10 Python
python如何构建mock接口服务
2021/01/28 Python
CSS3中媒体查询结合rem布局适配手机屏幕
2019/06/10 HTML / CSS
澳大利亚领先的在线美容商城:Adore Beauty
2017/04/14 全球购物
世界顶级足球门票网站:Live Football Tickets
2017/10/14 全球购物
如何理解委托
2012/01/06 面试题
中专毕业生求职简历的自我评价
2013/10/21 职场文书
求职信模板怎么做
2014/01/26 职场文书
测绘专业大学生职业生涯规划书
2014/02/10 职场文书
学习三严三实对照检查材料思想汇报
2014/09/22 职场文书
成都人事代理协议书
2014/10/25 职场文书
2016年共产党员公开承诺书
2016/03/24 职场文书
写作技巧:怎样写好一份优秀工作总结?
2019/08/14 职场文书
go语言中GOPATH GOROOT的作用和设置方式
2021/05/05 Golang
解决SpringBoot文件上传临时目录找不到的问题
2021/07/01 Java/Android
MySQL系列之十三 MySQL的复制
2021/07/02 MySQL
vue中使用mockjs配置和使用方式
2022/04/06 Vue.js