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通过邮件服务器端口发送邮件的方法
Apr 30 Python
Python 新建文件夹与复制文件夹内所有内容的方法
Oct 27 Python
python爬虫基础教程:requests库(二)代码实例
Apr 09 Python
Django REST framework 视图和路由详解
Jul 19 Python
pycharm 批量修改变量名称的方法
Aug 01 Python
使用Python实现Wake On Lan远程开机功能
Jan 22 Python
利用PyQt中的QThread类实现多线程
Feb 18 Python
python 读txt文件,按‘,’分割每行数据操作
Jul 05 Python
Python中logging日志的四个等级和使用
Nov 17 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
Dec 27 Python
Python中OpenCV实现查找轮廓的实例
Jun 08 Python
彻底弄懂Python中的回调函数(callback)
Jun 25 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
德生1994机评
2021/03/02 无线电
PHP根据IP地址获取所在城市具体实现
2013/11/27 PHP
关于php支持分块与断点续传文件下载功能代码
2014/05/09 PHP
PHP的时间戳与具体时间转化的简单实现
2016/06/13 PHP
自制PHP框架之路由与控制器
2017/05/07 PHP
javascript 打印内容方法小结
2009/11/04 Javascript
如何使用Javascript正则表达式来格式化XML内容
2013/07/04 Javascript
js选项卡的实现方法
2015/02/09 Javascript
javascript动态创建表格及添加数据实例详解
2015/05/13 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
2015/12/10 Javascript
jQuery和hwSlider实现内容响应式可触控滑动切换效果附源码下载(二)
2016/06/22 Javascript
微信小程序 UI与容器组件总结
2017/02/21 Javascript
关于Node.js的events.EventEmitter用法介绍
2017/04/01 Javascript
webstorm中vue语法的支持详解
2018/05/09 Javascript
利用vscode调试编译后的js代码详解
2018/05/14 Javascript
JavaScript继承与多继承实例分析
2018/05/26 Javascript
vue实现弹幕功能
2019/10/25 Javascript
前端vue如何使用高德地图
2020/11/05 Javascript
Vue 事件的$event参数=事件的值案例
2021/01/29 Vue.js
[01:10:16]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第一局
2016/02/27 DOTA
Python中__init__和__new__的区别详解
2014/07/09 Python
python基础教程之常用运算符
2014/08/29 Python
python实现发送邮件及附件功能
2021/03/02 Python
wxpython实现图书管理系统
2018/03/12 Python
python如何把字符串类型list转换成list
2020/02/18 Python
python统计文章中单词出现次数实例
2020/02/27 Python
html5新特性与用法大全
2018/09/13 HTML / CSS
Lenox官网:精美的瓷器&独特的礼品
2017/02/12 全球购物
CheapTickets香港机票预订网站:CheapTickets.hk
2019/06/26 全球购物
创业计划书六个要素
2013/12/26 职场文书
中层干部培训方案
2014/06/16 职场文书
家庭贫困证明
2014/09/23 职场文书
法定代表人授权委托书格式
2014/10/14 职场文书
2015年卫生院健康教育工作总结
2015/07/24 职场文书
2016拓展训练心得体会范文
2016/01/12 职场文书
Python读写yaml文件
2022/03/20 Python