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之有点简约的元组
Sep 24 Python
Python读写Excel文件方法介绍
Nov 22 Python
详解Python中DOM方法的动态性
Apr 11 Python
Django在win10下的安装并创建工程
Nov 20 Python
Python封装原理与实现方法详解
Aug 28 Python
python实现飞机大战
Sep 11 Python
已安装tensorflow-gpu,但keras无法使用GPU加速的解决
Feb 07 Python
Jupyter加载文件的实现方法
Apr 14 Python
构建高效的python requests长连接池详解
May 02 Python
浅析python中的del用法
Sep 02 Python
python中添加模块导入路径的方法
Feb 03 Python
基于PyTorch实现一个简单的CNN图像分类器
May 29 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
改造一台复古桌面收音机
2021/03/02 无线电
ThinkPHP令牌验证实例
2014/06/18 PHP
PHP中的闭包(匿名函数)浅析
2015/02/07 PHP
php上传文件并存储到mysql数据库的方法
2015/03/16 PHP
php实现简单的语法高亮函数实例分析
2015/04/27 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
CI框架附属类用法分析
2018/12/26 PHP
PHP safe_mode开启对于PHP系统函数有什么影响
2020/11/10 PHP
JavaScript代码复用模式实例分析
2012/12/02 Javascript
用JS提交参数创建form表单在FireFox中遇到的问题
2013/01/16 Javascript
使用JavaScript动态设置样式实现代码(2)
2013/01/25 Javascript
jquery拖动插件(jquery.drag)使用介绍
2013/06/18 Javascript
简单的两种Extjs formpanel加载数据的方式
2013/11/09 Javascript
jQuery中after()方法用法实例
2014/12/25 Javascript
jQuery多个input求和的实现方法
2015/02/12 Javascript
使用JavaScript实现旋转的彩圈特效
2015/06/23 Javascript
使用JavaScript实现连续滚动字幕效果的方法
2015/07/07 Javascript
js实现千分符和保留几位小数的简单实例
2016/08/01 Javascript
详解javascript中对数据格式化的思考
2017/01/23 Javascript
JS二叉树的简单实现方法示例
2017/04/05 Javascript
xmlplus组件设计系列之按钮(2)
2017/04/26 Javascript
微信小程序switch开关选择器使用详解
2018/01/31 Javascript
解决vue attr取不到属性值的问题
2018/09/18 Javascript
layui 富文本图片上传接口与普通按钮 文件上传接口的例子
2019/09/23 Javascript
Openlayers实现扩散的动态点(水纹效果)
2020/08/17 Javascript
Pycharm无法使用已经安装Selenium的解决方法
2018/10/13 Python
Python3.5装饰器原理及应用实例详解
2019/04/30 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
python 常用日期处理-- datetime 模块的使用
2020/09/02 Python
通过实例解析python and和or使用方法
2020/11/14 Python
python爬虫中采集中遇到的问题整理
2020/11/27 Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
2021/01/29 Python
html5使用canvas实现弹幕功能示例
2017/09/11 HTML / CSS
贝嫂喜欢的婴儿品牌,个性化的婴儿礼物:My 1st Years
2017/11/19 全球购物
护士自我鉴定
2013/10/23 职场文书
QT与javascript交互数据的实现
2021/05/26 Javascript