热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

pythonDjango批量导入不重复数据

这篇文章主要介绍了pythonDjango批量导入不重复数据的相关资料,需要的朋友可以参考下
本文为大家分享了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 Django大学生心理健康管理系统开发(含源码、文档)
    本项目包含完整的源代码、设计文档、数据库结构以及详细的安装指南,旨在为计算机专业的学生提供一个全面的心理健康管理系统解决方案。 ... [详细]
  • Django xAdmin 使用指南(第一部分)
    本文介绍如何在Django项目中集成和使用xAdmin,这是一个增强版的管理界面,提供了比Django默认admin更多的功能。文中详细描述了集成步骤及配置方法。 ... [详细]
  • 本文介绍如何在Django项目中利用UpdateView更新数据后,根据主键(pk)自动重定向至对应的DetailView页面,实现流畅的用户交互体验。 ... [详细]
  • 日志记录对于软件开发至关重要,特别是在调试和维护阶段。通过日志,开发者能够追踪错误源头并了解系统的运行状态。本文将探讨如何在Django框架中有效配置和使用日志记录功能。 ... [详细]
  • 本文详细介绍如何结合Django框架和DRF(Django REST Framework)来设计一套有效的全局异常处理系统。这套系统不仅能够妥善处理DRF引发的异常,还能兼容Django自带的admin界面异常处理逻辑。 ... [详细]
  • 本文探讨了在Windows 7 x64系统上使用easy_install工具时遇到的问题及解决方案,特别是当尝试安装Django活塞时出现的路径问题。 ... [详细]
  • 本文详细介绍了Django框架内置的对象关系映射(ORM)机制,包括其工作原理、如何连接MySQL数据库以及ORM的主要优势和局限性。同时,提供了配置和使用Django ORM的具体步骤。 ... [详细]
  • 深入理解Django中的AJAX应用
    本文详细介绍了AJAX技术及其在Django框架中的应用。AJAX,即异步JavaScript和XML,允许网页在不重新加载整个页面的情况下与服务器交换数据并更新部分网页。 ... [详细]
  • 作为一门广受赞誉的编程语言,Python因其简洁性和强大的功能,在Web开发、游戏设计、人工智能、云计算、大数据处理、数据科学、网络爬虫及自动化测试等多个领域得到广泛应用。本文将介绍2018年最受欢迎的五款Python框架,帮助开发者更好地选择合适的工具。 ... [详细]
  • 本文介绍了如何在配置了virtualenv和virtualenvwrapper环境后,利用PyCharm创建新的Django项目,并将开发数据库从SQLite切换至更适用于生产环境的MySQL数据库。文章详细记录了尝试使用MySQLdb、MySQL自带Connector及pymysql等不同数据库连接库时遇到的问题及解决办法。 ... [详细]
  • Django小实战——在线Web计算器(利用Bootstrap进行前端开发)
    Django小实战——在线Web计算器(利用Bootstrap进行前端开发),Go语言社区,Golang程序员人脉社 ... [详细]
  • Django框架的使用教程mysql数据库[三]
    Django的数据库1.在Django_test下的view.py里面model定义模型fromdjango.dbimportmodels#Createyourmodelshere ... [详细]
  • 本文探讨了在当前开发环境中使用Django 1.5和Python 3.3的情况下,如何解决AWS和GAE仅支持Python 2.7的问题,并提供了相应的解决方案。 ... [详细]
  • 二维几何变换矩阵解析
    本文详细介绍了二维平面上的三种常见几何变换:平移、缩放和旋转。通过引入齐次坐标系,使得这些变换可以通过统一的矩阵乘法实现,从而简化了计算过程。文中不仅提供了理论推导,还附有Python代码示例,帮助读者更好地理解这些概念。 ... [详细]
  • 使用爬虫测试Django网站的稳定性
    本文介绍如何通过爬虫频繁访问Django网站以测试其稳定性和性能。首先需要禁用Django的CSRF保护,然后使用Python爬虫脚本进行POST请求测试。 ... [详细]
author-avatar
可可伦-惊叹号
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有