zoukankan      html  css  js  c++  java
  • Python 批量插入100万级数据到Excel文件(简洁版)

      引言

      python是一门开发语言,可以用来写大型项目,也可以用来写脚本,比如自动化脚本,也可以用来写工具。

      背景

      我们平时做测试,不一定做自动化测试才用去python,做功能测试,也就是点点点,也可以把它用起来。

      比如,我现在页面有一个功能,导入的功能,我想测它最大支持多少数据量导入,或者说多大的文件导入,那么我们得在excel中写入很多条数据(导入模板是xls,xlsx)。

      如果是自己手一条一条去弄,显然不现实,数据量不多还好,如果是100万呢,500万呢,1000万呢....

      那么,这个时候可以利用python写个脚本,一秒生成百万级+的excel文件。

      案例实现

      我就将我实际项目遇到的情况拿出来讲。

      背景:

      1、导入功能;

      2、导入模板excel;

      3、导入数据格式,两列数据,数据格式不限制。

      根据需求,我想测这个导入支持多大的数据量以及达到最大的时候,页面提示什么信息,是报错,还是温馨提示呢?那么就得写这样的一个向excel批量插入数据的脚本:

    from xlwt import Workbook
    
    #创建一个工作簿
    w = Workbook()
    #创建一个工作表
    ws = w.add_sheet('1')
    # 计数
    count = 0
    # 行数
    link_nums = 5000
    for j in range(0,2):     #控制列
        for i in range(0, link_nums):   #控制行
            count += 1
    
            if(j == 0):         #第一列
                ws.write(i, j, i)
            if(j == 1):
                ws.write(i,j,i)
    
    
    print("总共生成(单元格): %s数据"%count)
    print("总共生成: %s条数据"%link_nums)
    
    w.save('xqtest.xls')
    

      

      运行结果:

    总共生成(单元格): 10000数据
    总共生成: 5000条数据
    
    Process finished with exit code 0
    

      打开excel文件查看:

     运行时长:

    总共生成(单元格): 10000数据
    总共生成: 5000条数据
    Running time: 7.293443303871468e-07 Seconds 
    
    Process finished with exit code 0
    

      拿着生成的excel文件,操作导入,结果报错:

      然后测试了这个导入功能,果然是有bug,已经反馈给开发修改了。

      总结

      方法基本上就是这样,具体根据自己业务需要进行设计。

      另外,对测试开发,自动化测试,全栈测试相关技术感兴趣的朋友,可以加入到群里学习和探索交流,进群方式,扫下方二维码。

  • 相关阅读:
    【流处理】Kafka Stream-Spark Streaming-Storm流式计算框架比较选型
    【大数据】大数据处理-Lambda架构-Kappa架构
    【ElasticSearch】ES5新特性-keyword-text类型-查询区别
    【大数据】大数据-实时统计分析-方案选型
    【Spark】SparkStreaming-流处理-规则动态更新-解决方案
    【ElasticSearch】ElasticSearch-SQL插件
    【ElasticSearch】ElasticSearch-索引优化-自定义索引
    【算法】如何设计--高效的大数据匹配算法
    【Java】Springboot-Quartz-分布式任务调度
    网页提示[Not allowed to load local resource: file://XXXX]错误
  • 原文地址:https://www.cnblogs.com/liudinglong/p/13040392.html
Copyright © 2011-2022 走看看