本文为大家分享了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批量导入数据库!

可对照参考我的另一篇文章:批量导入数据

以上就是本文的全部内容,希望对大家的学习有所帮助。

时间: 2016-03-23

python 录入数据不重复_python Django批量导入不重复数据相关推荐

  1. sqlite 数据量_向SQLite批量导入csv,txt数据

    将csv或者txt格式的文件导入SQLite一般有两种方式: 使用pandas.readcsv()读取后,用to_sql方法写入数据库 使用SQLiteStudio创建表格,再导入数据 但是这两种方法 ...

  2. 一招教你数据仓库如何高效批量导入与更新数据

    摘要:GaussDB(DWS)支持的MERGE INTO功能,可以同时进行大数据量的更新与插入.对于数据仓库是一项非常重要的技术. 本文分享自华为云社区<一招教你如何高效批量导入与更新数据> ...

  3. solr使用网页浏览器批量导入数据库中数据(本案例是mysql)

    如果想要知道如何安装solr,集成IKAnalyzer中文分词器,批量导入数据库数据,java使用参照以下本博主博文: 安装solr https://blog.csdn.net/u013294097/ ...

  4. java操作mysql导表_Java实现批量导入excel表格数据到数据库中的方法

    本文实例讲述了Java实现批量导入excel表格数据到数据库中的方法.分享给大家供大家参考,具体如下: 1.创建导入抽象类 package com.gcloud.common.excel; impor ...

  5. 一招教你如何高效批量导入与更新数据

    一招教你如何高效批量导入与更新数据 前言 如果有一张表,我们既想对它更新,又想对它插入应该如何操作? 可以使用 UPDATE 和 INSERT 完成你的目标. 如果你的数据量很大,想尽快完成任务执行, ...

  6. EasyExcel 批量导入并校验数据

    文章目录 前言 一.pom 二.使用步骤 1.导入对象 2.读入数据并保存 前言 EasyExcel 批量导入并校验数据 一.pom <dependency><groupId> ...

  7. python 录入数据不重复_pythonDjango批量导入不重复数据

    #coding:utf-8 import os os.environ.setdefault("DJANGO_SETTINGS_MODULE", "www.settings ...

  8. django批量修改table_django-formset实现数据表的批量操作

    什么是formset 我们知道forms组件是用来做表单验证,更准确一点说,forms组件是用来做数据库表中一行记录的验证.有forms组件不同,formset是同科同时验证表中的多行记录,即form ...

  9. python输出键值列表_Python 键值分组或分区数据

    Python 使用键值分组或者分区数据,对分组后的数据做何种归约是没有限制的.数据中可能包含一些自变量或者因变量.可以通过自变量对数据进行分区,然后计算每个分区的各项汇总值,包括最大值.最小值.平均值 ...

最新文章

  1. Jmeter干货 不常用却极其有用的几个地方
  2. Cacti on nginx + php-fpm
  3. 开源的linux网关untangle
  4. MAC系统使用Homebrew安装nvm
  5. boost::mcgregor_common_subgraphs用法的测试程序
  6. java高并发(十七)J.U.C之BlockingQueue
  7. PMP - 2011年6月考前辅导班
  8. grep参数说明及常用用法
  9. 背景透明度 下拉菜单
  10. 整理一篇Linux drm显示系统的文章
  11. java loadonstartup_java的web配置文件的“load-on-startup0/load-on-startup”一个问题
  12. 1.8 编程基础之多维数组 08 矩阵加法 python
  13. 电脑装oracle服务很卡,oracle11g安装后电脑启动很慢怎么解决
  14. 二分搜索 POJ 1064 Cable master
  15. 史上最全的springboot导出pdf文件
  16. 计算机服务器机房设计方案,机房设计方案.pdf
  17. ubuntu 查找opencv安装路径_ubuntu 查找opencv安装路径_Ubuntu安装opencv详细步骤
  18. win10重置网络命令_WIN10重置网络的操作方法
  19. mysql两个等号是什么运算符_什么是MySQL中的这个运算符=?
  20. C3P0,alibaba连接池错误【已解决】-An exception occurred while acquiring a poolable resource. Will retry.

热门文章

  1. 1月4日编程基础hash
  2. 面向对象编程(1)-类和实例
  3. 经典10046剖析案例-2
  4. Rafy 框架 - 使用 SqlTree 查询
  5. 工作的准备:atoi,itoa,strcpy,memcpy,strcmp,二分查找,strcat
  6. 最新C#开源资源项目
  7. Mybatis源码研究2:框架整体设计
  8. Linux 修改SSH端口 和 禁止Root远程登陆
  9. 轉:VB6中将数据导出到Excel提速之法
  10. C语言 指针+二维数组详解 (应付期末、考研的最强笔记,建议收藏)