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实现单向链表详解
Feb 08 Python
python 限制函数调用次数的实例讲解
Apr 21 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
Mar 27 Python
python制作简单五子棋游戏
Jun 18 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
Nov 20 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
Feb 25 Python
Python+Appium实现自动化测试的使用步骤
Mar 24 Python
python seaborn heatmap可视化相关性矩阵实例
Jun 03 Python
新手学python应该下哪个版本
Jun 11 Python
python 多线程爬取壁纸网站的示例
Feb 20 Python
手把手教你怎么用Python实现zip文件密码的破解
May 27 Python
Python使用openpyxl模块处理Excel文件
Jun 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
建站常用13种PHP开源CMS比较
2009/08/23 PHP
php实现jQuery扩展函数
2009/10/30 PHP
PHP中PDO的错误处理
2011/09/04 PHP
总结PHP内存释放以及垃圾回收
2018/03/29 PHP
浅谈Laravel模板实体转义带来的坑
2019/10/22 PHP
20个非常棒的Jquery实用工具 国外文章
2010/01/01 Javascript
jQuery前台数据获取实现代码
2011/03/16 Javascript
JQuery页面的表格数据的增加与分页的实现
2013/12/10 Javascript
用js读、写、删除Cookie代码续篇
2014/12/03 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
详解AngularJS脏检查机制及$timeout的妙用
2017/06/19 Javascript
详解NODEJS的http实现
2018/01/04 NodeJs
webpack4 SCSS提取和懒加载的示例
2018/09/03 Javascript
关于layui 弹出层一闪而过就消失的解决方法
2019/09/09 Javascript
js校验开始时间和结束时间
2020/05/26 Javascript
原生js实现分页效果
2020/09/23 Javascript
python正则表达式之作业计算器
2016/03/18 Python
python3.5 + PyQt5 +Eric6 实现的一个计算器代码
2017/03/11 Python
Python生成密码库功能示例
2017/05/23 Python
Python开发微信公众平台的方法详解【基于weixin-knife】
2017/07/08 Python
PyCharm在新窗口打开项目的方法
2019/01/17 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
2019/08/12 Python
Python3.5 win10环境下导入kera/tensorflow报错的解决方法
2019/12/19 Python
python如何把字符串类型list转换成list
2020/02/18 Python
Python3.9又更新了:dict内置新功能
2020/02/28 Python
TensorFlow Autodiff自动微分详解
2020/07/06 Python
python高级特性简介
2020/08/13 Python
python unichr函数知识点总结
2020/12/16 Python
css3 transform过渡抖动问题解决
2020/10/23 HTML / CSS
潘多拉意大利官方网上商城:网上选购PANDORA珠宝
2018/10/07 全球购物
物流管理专业职业生涯规划书
2014/01/06 职场文书
应届毕业生个人求职自荐信
2014/01/06 职场文书
党代会心得体会
2014/09/04 职场文书
2014乡镇党委副书记对照检查材料思想汇报
2014/10/09 职场文书
OpenCV-Python实现图像平滑处理操作
2021/06/08 Python
面试提问mysql一张表到底能存多少数据
2022/03/13 MySQL