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 相关文章推荐
利用一个简单的例子窥探CPython内核的运行机制
Mar 30 Python
总结Python中逻辑运算符的使用
May 13 Python
python提取字典key列表的方法
Jul 11 Python
python topN 取最大的N个数或最小的N个数方法
Jun 04 Python
在NumPy中创建空数组/矩阵的方法
Jun 15 Python
基于Python列表解析(列表推导式)
Jun 23 Python
解决pycharm运行出错,代码正确结果不显示的问题
Nov 30 Python
Python3 tkinter 实现文件读取及保存功能
Sep 12 Python
python numpy之np.random的随机数函数使用介绍
Oct 06 Python
python 协程 gevent原理与用法分析
Nov 22 Python
Python3.10的一些新特性原理分析
Sep 15 Python
python+pyhyper实现识别图片中的车牌号思路详解
Dec 24 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 实现判断用户是否手机访问
2015/01/21 PHP
PHP超牛逼无限极分类生成树方法
2015/05/11 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
二行代码解决全部网页木马
2008/03/28 Javascript
很全的显示阴历(农历)日期的js代码
2009/01/01 Javascript
如何让页面在打开时自动刷新一次让图片全部显示
2012/12/17 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
深入理解javascript严格模式(Strict Mode)
2014/11/28 Javascript
jQuery zclip插件实现跨浏览器复制功能
2015/11/02 Javascript
JS操作XML实例总结(加载与解析XML文件、字符串)
2015/12/08 Javascript
Angularjs material 实现搜索框功能
2016/03/08 Javascript
轮播的简单实现方法
2016/07/28 Javascript
微信公众号 客服接口的开发实例详解
2016/09/28 Javascript
angular仿支付宝密码框输入效果
2017/03/25 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
2017/08/17 Javascript
VUE2.0 ElementUI2.0表格el-table自适应高度的实现方法
2018/11/28 Javascript
Net微信网页开发 使用微信JS-SDK获取当前地理位置过程详解
2019/08/26 Javascript
过滤器vue.filters的使用方法实现
2019/09/18 Javascript
[01:06]DOTA2亚洲邀请赛专属珍藏-荧煌之礼
2017/03/24 DOTA
跟老齐学Python之使用Python操作数据库(1)
2014/11/25 Python
详细解读tornado协程(coroutine)原理
2018/01/15 Python
对python中for、if、while的区别与比较方法
2018/06/25 Python
pandas DataFrame 删除重复的行的实现方法
2019/01/29 Python
详解django+django-celery+celery的整合实战
2019/03/19 Python
通过pycharm使用git的步骤(图文详解)
2019/06/13 Python
Python切图九宫格的实现方法
2019/10/10 Python
Python生成六万个随机,唯一的8位数字和数字组成的随机字符串实例
2020/03/03 Python
python环境下安装opencv库的方法
2020/03/05 Python
django 将自带的数据库sqlite3改成mysql实例
2020/07/09 Python
Python编写单元测试代码实例
2020/09/10 Python
CSS3 边框效果
2019/11/04 HTML / CSS
html5 Canvas画图教程(2)—画直线与设置线条的样式如颜色/端点/交汇点
2013/01/09 HTML / CSS
违反学校规则制度检讨书
2015/01/01 职场文书
出生公证书
2015/01/23 职场文书
2015小学师德工作总结
2015/07/21 职场文书
Python 绘制多因子柱状图
2022/05/11 Python