首页 > 编程语言 >Python生成30万条Excel 测试数据

Python生成30万条Excel 测试数据

时间:2023-07-27 21:34:23浏览次数:38  
标签:sheet Python 30 Excel end num 线程 threads data

使用Python生成30万条Excel 测试数据

from openpyxl import Workbook
from concurrent.futures import ThreadPoolExecutor

# 定义生成数据的函数
def generate_data(start, end, sheet):
    # 生成数据
    for i in range(start, end + 1):
        sheet.append([i, f"姓名{i}", 20 + i % 10, f"城市{i % 100}", f"性别{i % 2}", f"职业{i % 5}", f"邮箱{i}@example.com", f"电话{i}", f"地址{i}", f"学历{i % 3}"])
        print(i)
# 创建Workbook对象
workbook = Workbook()
sheet = workbook.active

# 添加表头
sheet.append(["编号", "姓名", "年龄", "城市", "性别", "职业", "邮箱", "电话", "地址", "学历"])

# 定义线程数量
num_threads = 10

# 计算每个线程要生成的数据数量
total_data = 300000
data_per_thread = total_data // num_threads

# 定义线程池
pool = ThreadPoolExecutor(max_workers=num_threads)

# 提交线程任务
futures = []
for i in range(num_threads):
    start = i * data_per_thread + 1
    end = (i + 1) * data_per_thread
    # 对最后一个线程进行修正,使其生成剩余的数据
    if i == num_threads - 1:
        end = total_data
    future = pool.submit(generate_data, start, end, sheet)
    futures.append(future)

# 等待所有任务完成
for future in futures:
    future.result()

# 关闭线程池
pool.shutdown()

# 保存数据到Excel文件
workbook.save("data.xlsx")

标签:sheet,Python,30,Excel,end,num,线程,threads,data
From: https://www.cnblogs.com/dusen/p/17586120.html

相关文章

  • Java 获取excel的路径
    Java获取Excel的路径在Java开发中,我们经常需要读取或处理Excel文件。而要操作Excel文件,首先需要获取Excel文件的路径。本文将介绍怎样使用Java获取Excel文件的路径。流程概述获取Excel文件的路径可以分为以下几个步骤:创建一个文件选择对话框。选择Excel文件并获取其路径。......
  • python虚拟环境拷贝到另一台电脑
    背景介绍:建立了虚拟环境后,在其中安装的包很多,也很费时间,你想将这个MyApp放到其他电脑上去开发,是不是直接复制MyApp文件夹就可以了呢?不行!因为在建立虚拟环境时,虚拟环境中的python.exe,pip.exe......等一些文件会“硬编码”,记录的是绝对路径,放到其他电脑后,因为路径不同会出错!......
  • 20230727
    复赛树塔问题只需要知道\(f\left[i,j\right]\)是从\(f\left[i+1,j\right]\)还是\(f\left[i+1,j+1\right]\)转移来就可以,不需要知道\(f\left[i+1,j\right]\)和\(f\left[i+1,j+1\right]\)是怎么计算出的,这就是无后效性。......
  • 决策树插件——TreePlan Excel plugin学习指导
    决策树是一种常用的风险型决策工具,它能够帮助人们在不确定性和风险环境下做出合理的决策。决策树通过模拟决策过程,以树状结构呈现不同决策路径和结果,并通过计算风险与收益之间的权衡来选择最优的决策方案。决策树的优势在于它能够清晰地展示各种决策选项以及每个选项下可能的结果......
  • mysql启动报错:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:330
    mysql启动报错:ERROR2003(HY000):Can'tconnecttoMySQLserveron'localhost:3306'(10061)netstat-ano|findstr3306,检查端口3306上是否有进程运行(或直接检查任务管理器中的进程),发现mysqld.exe进程未运行以管理员身份运行cmd,键入netstartmysql,遇到报错:MySQL服务......
  • Python基础day54 Django2
    配置文件的介绍#注册应用的INSTALLED_APPS=['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.......
  • python学习_列表
    一、为什么需要列表变量可以存储一个元素,而列表是一个"大容器",可以存储N多个元素,且元素可以是不同的类型,程序可以很方便的对这些数据进行整体操作列表相当于其他语言中的数组列表索引示意图:二、列表的创建列表使用中括号即可创建,列表中的不同元素之间使用英文的逗号进行......
  • android studio 如何调用python
    如何在AndroidStudio中调用Python概述:在AndroidStudio中调用Python可以帮助我们解决一些实际问题,比如使用Python的强大数据处理和分析库,或者直接调用已有的Python脚本。本文将介绍如何在AndroidStudio中调用Python,并提供一个示例来解决一个实际问题。步骤:以下是在AndroidSt......
  • python 分割字符
    #输入王小明,输出王小明#读取原始txt文件withopen('D:\\PCCW_Test_Script\\111.txt',encoding='utf-8')asfile1:content=file1.readlines()#print(content)withopen('D:\\PCCW_Test_Script\\222.txt',"w",encoding=......
  • 替代LT8611芯片设计|CS5218设计方案|DP++转HDMI4K30HZ转换芯片方案
    ASL北京集睿致远研发CS5218DP转HDMI4K30HZ转换芯片,支持高达3840x2160@30Hz或者4096x2160@30Hz,主要用于设计TYEPC拓展坞和DP转接线的开发与应用。CS5218芯片设计电路:CS5218替代LT8611芯片包括2路双模DP电缆适配器寄存器,可用于识别电缆适配器的功能。可以更好地满足更高数......