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 相关文章推荐
Python3 入门教程 简单但比较不错
Nov 29 Python
python读取csv文件示例(python操作csv)
Mar 11 Python
Python socket C/S结构的聊天室应用实现
Nov 30 Python
python使用PyGame模块播放声音的方法
May 20 Python
wxPython使用系统剪切板的方法
Jun 16 Python
Python两个内置函数 locals 和globals(学习笔记)
Aug 28 Python
Python 内置函数complex详解
Oct 23 Python
Python爬虫:将headers请求头字符串转为字典的方法
Aug 21 Python
wxPython:python首选的GUI库实例分享
Oct 05 Python
tensorflow2.0保存和恢复模型3种方法
Feb 03 Python
Python ATM功能实现代码实例
Mar 19 Python
Python 中如何使用 virtualenv 管理虚拟环境
Jan 21 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
PHPstorm启用自动换行的方法详解(IDE)
2020/09/17 PHP
很可爱的输入框
2008/08/03 Javascript
同一个表单 根据要求递交到不同页面的实现方法小结
2009/08/05 Javascript
正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)
2013/11/26 Javascript
单元选择合并变色示例代码
2014/05/26 Javascript
javascript实现状态栏中文字动态显示的方法
2015/10/20 Javascript
JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
2015/11/24 Javascript
js实现简单排列组合的方法
2016/01/27 Javascript
js实现非常棒的弹出div
2016/10/06 Javascript
将json转换成struts参数的方法
2016/11/08 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
2017/02/20 Javascript
深入理解requireJS-实现一个简单的模块加载器
2018/01/15 Javascript
AngularJS发送异步Get/Post请求方法
2018/08/13 Javascript
Vue.set() this.$set()引发的视图更新思考及注意事项
2018/08/30 Javascript
webpack4 入门最简单的例子介绍
2018/09/05 Javascript
React 实现拖拽功能的示例代码
2019/01/06 Javascript
NodeJs之word文件生成与解析的实现代码
2019/04/01 NodeJs
vue实现节点增删改功能
2019/09/26 Javascript
使用python的pandas库读取csv文件保存至mysql数据库
2018/08/20 Python
解决Python pandas plot输出图形中显示中文乱码问题
2018/12/12 Python
python实现公司年会抽奖程序
2019/01/22 Python
Python爬取数据保存为Json格式的代码示例
2019/04/09 Python
Python 使用 docopt 解析json参数文件过程讲解
2019/08/13 Python
python实现截取屏幕保存文件,删除N天前截图的例子
2019/08/27 Python
python实现回旋矩阵方式(旋转矩阵)
2019/12/04 Python
pandas的相关系数与协方差实例
2019/12/27 Python
Python之字典对象的几种创建方法
2020/09/30 Python
微信小程序实现可实时改变转速的css3旋转动画实例代码
2018/09/11 HTML / CSS
Stella McCartney官网:成衣、包袋、香水、内衣、童装及Adidas系列
2018/12/20 全球购物
秘书行业自我鉴定范文
2013/12/30 职场文书
统计岗位职责
2014/02/21 职场文书
会计电算化应届生自荐信
2014/02/25 职场文书
2014审计局领导班子民主生活会对照检查材料思想汇报
2014/09/20 职场文书
接收函格式
2015/01/30 职场文书
淡雅古典唯美少女娇媚宁静迷人写真
2022/03/21 杂记
postgresql之greenplum字符串去重拼接方式
2023/05/08 PostgreSQL