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之变量和参数
Oct 10 Python
在windows系统中实现python3安装lxml
Mar 23 Python
Python操作mongodb数据库进行模糊查询操作示例
Jun 09 Python
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决
Jul 13 Python
python实现对任意大小图片均匀切割的示例
Dec 05 Python
python分批定量读取文件内容,输出到不同文件中的方法
Dec 08 Python
如何运行带参数的python脚本
Nov 15 Python
python实现画出e指数函数的图像
Nov 21 Python
Python networkx包的实现
Feb 14 Python
python实现简单井字棋游戏
Mar 04 Python
浅谈JupyterNotebook导出pdf解决中文的问题
Apr 22 Python
python 进阶学习之python装饰器小结
Sep 04 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
ajax取消挂起请求的处理方法
2013/03/18 PHP
php命令行用法入门实例教程
2014/10/27 PHP
如何使用php实现评委评分器
2015/07/31 PHP
PHP仿微信发红包领红包效果
2016/10/30 PHP
php+ajax+json 详解及实例代码
2016/12/12 PHP
CentOS 上搭建 PHP7 开发测试环境
2017/02/26 PHP
jquery与google map api结合使用 控件,监听器
2010/03/04 Javascript
JavaScript中的类继承
2010/11/25 Javascript
jquery中防刷IP流量软件影响统计的一点对策
2011/07/10 Javascript
JS实现字体选色板实例代码
2013/11/20 Javascript
jquery获得option的值和对option进行操作
2013/12/13 Javascript
vuex实现简易计数器
2016/10/27 Javascript
Vue.js第四天学习笔记
2016/12/02 Javascript
jquery实现input框获取焦点的方法
2017/02/06 Javascript
ReactJs设置css样式的方法
2017/06/08 Javascript
vue-cli项目中怎么使用mock数据
2017/09/27 Javascript
element-ui 表格实现单元格可编辑的示例
2018/02/26 Javascript
JS中用EL表达式获取上下文参数值的方法
2018/03/28 Javascript
基于vue通用表单解决方案的思考与分析
2019/03/16 Javascript
Vue调用后端java接口的实例代码
2019/10/28 Javascript
微信小程序音乐播放器开发
2019/11/20 Javascript
[01:19:11]Ti4 循环赛第二日 NaVi.us vs iG
2014/07/11 DOTA
python利用smtplib实现QQ邮箱发送邮件
2020/05/20 Python
python实现彩色图转换成灰度图
2019/01/15 Python
Python实现定时执行任务的三种方式简单示例
2019/03/30 Python
提升Python程序性能的7个习惯
2019/04/14 Python
python实现点击按钮修改数据的方法
2019/07/17 Python
基于python操作ES实例详解
2019/11/16 Python
使用Tensorflow实现可视化中间层和卷积层
2020/01/24 Python
python 实现单例模式的5种方法
2020/09/23 Python
AmazeUI导航的示例代码
2020/08/14 HTML / CSS
语文教育专业应届生求职信
2013/11/23 职场文书
《口技》教学反思
2014/02/21 职场文书
消防安全员岗位职责
2014/03/10 职场文书
个人四风对照检查材料
2014/09/26 职场文书
【HBU】数据库第四周 单表查询
2021/04/05 SQL Server