python中多进程及multiprocessing进程池使用——批量读取excel文件

Python自动化Excel数据处理:Pandas与Openpyxl实战指南 在数据处理领域,自动化脚本是提升效率的核心技术。其原理在于通过编程语言替代人工重复操作,实现批量文件的读取、清洗、计算与输出。这项技术的核心价值在于将从业者从繁琐的手动劳动中解放出来,极大提升了数据处理的准确性与速度,广泛应用于财务分析、运营报表、市场研究等需要处理大量表格数据的场景。本文聚焦于使用Python生态中的Pandas和Openpyxl这两个强大库,构建一个完整的自动化流程。Pandas作为数据操作的‘瑞士军刀’,擅长高效的内存计算与向量化操作,是进行数据清洗、转换与聚合分析的理想选择;而Ope 阅读详情

首先准备:当前文件上级目录下有个excels目录,目录里存在15份.xls文件,每个文件1000条数据,需要通过多进程对这些文件读取为pandas的dataframe格式

手动创建多进程读取文件(进程数等于任务数)

# @datetime:6/26/0026
"""通过多进程加速读取excel的测试"""
__author__ = "hanyaning@deri.energy"
import os.path
import time
from service import logger
import pandas as pd
from multiprocessing import Process, Manager
startTime = time.time()

logger = logger.MyLogger("multi_process").getLogger()


def getExcelData(path, return_data=None, file_name=""):
    global startTime
    logger.info("开始读取Excel文件,当前进程pid:" + str(os.getpid()))
    if not os.path.exists(path):
        raise FileNotFoundError()
    if os.path.isfile(path):
        return_data[file_name] = pd.read_excel(path, skiprows=1, skipfooter=1)
        logger.info("读取Excel文件完毕,当前进程pid:" + str(os.getpid()))

if __name__ == "__main__":
    excel_path = os.path.join(os.getcwd(), "../excels")
    xls_names = [x for x in os.listdir(excel_path) if x.endswith(".xls")
LibreOffice高并发文档处理:进程池与隔离架构实战 在自动化文档处理系统中,并发操作是提升吞吐量的关键技术。其核心原理在于通过多进程或多线程同时执行任务,以充分利用计算资源。然而,当这一技术应用于LibreOffice这类桌面级软件时,其内部资源管理机制(如用户配置锁、全局端口)会引发冲突,导致进程僵死或转换失败。这凸显了在服务器环境下进行工程化改造的价值。通过引入进程池模式,可以预先创建并复用LibreOffice实例,将任务作为作业提交,从而避免频繁的进程启停开销,显著提升处理效率与系统稳定性。该方案尤其适用于在线文档转换、批量报告生成等高并发场景,是解 阅读详情

相关推荐

Python多线程与多进程选型指南:I/O密集型与CPU密集型任务实战

Python并发编程的核心在于理解任务类型——I/O密集型任务(如网络请求、文件读写)主要受等待延迟制约,适合多线程通过GIL下的并发等待提升吞吐;CPU密集型任务(如数值计算、图像处理)则需绕过GIL,依赖多进程实现真正的并行计算。其技术价值在于显著缩短执行时间、提升资源利用率,并支撑高可用生产系统。典型应用场景包括爬虫加速、批量数据处理、机器学习特征工程及实时服务优化。本文基于CPython环境,结合threading和multiprocessing的底层原理与工程实践,厘清‘何时用、怎么用、为何这样用

weixin_34161083的博客 414

Python多线程与多进程选型指南:GIL原理与IO/CPU密集型任务决策

Python并发编程的核心在于理解解释器底层机制——CPython的全局解释器锁(GIL)并非性能缺陷,而是保障内存安全的设计权衡。其本质是线程执行Python字节码时的互斥锁,但在系统调用(如网络请求、文件读写)时自动释放,因此多线程天然适配IO密集型场景;而多进程通过隔离内存空间绕过GIL,适用于纯CPU计算任务,但需承担序列化、进程开销等代价。掌握GIL释放时机、准确识别任务I/O或CPU瓶颈、量化IPC与启动成本,是实现高效并发的关键。本文结合strace诊断、psutil压测与真实生产案例,系统梳

weixin_30952535的博客 358

PySWMM批量处理INP文件实战:从安装到结果提取的完整避坑指南

在城市排水管网建模与水力模拟领域,SWMM作为开源引擎被广泛使用,但面对多方案比选、参数敏感性分析等场景时,手动操作图形界面效率低下且易出错。PySWMM作为SWMM引擎的Python绑定,将底层计算能力封装为可编程接口,让工程师能够通过脚本批量加载、修改和运行INP文件,并结构化提取模拟结果。本文从工程实践角度出发,系统梳理PySWMM环境搭建的常见陷阱(如动态库缺失、版本兼容、编码问题),介绍INP文件的核心区块结构,并以批量修改降雨文件、并行运行模拟、导出节点溢流量为例,演示一套可复用的自动化工作流。

weixin_34175509的博客 317

Python音频处理实战:批量格式转换与元数据编辑技术指南

数字音频处理是现代多媒体应用的核心技术之一,涉及对声波信号的数字化采样、编码和压缩。其基本原理是将连续的模拟音频信号转换为离散的数字数据,通过不同的编码算法实现高效存储和传输。在技术价值层面,音频处理技术不仅保证了音质的保真度,还大幅提升了文件管理的效率。特别是在音乐制作、流媒体服务等应用场景中,批量处理能力显得尤为重要。音频元数据作为描述文件内容的关键信息,包括歌曲标题、艺术家、专辑等,对于音乐合集的管理至关重要。本文以Python音频处理库为基础,深入探讨如何实现音乐文件的批量格式转换和元数据编辑,结合

weixin_33912638的博客 398

多核CPU性能释放指南:从原理到Python/Node.js实战

多核CPU是现代计算的基础设施,但其并行能力能否发挥,取决于软件是否突破GIL、内存一致性、I/O阻塞等底层限制。理解物理核心与逻辑线程的本质差异,掌握阿姆达尔定律对加速比的约束,是高效利用硬件的前提。技术价值在于将CPU利用率从单核瓶颈提升至接近100%的多核协同,显著缩短计算密集型任务耗时。典型应用场景包括Python批量数据处理、Node.js高并发服务、科学计算与实时音视频处理。本文聚焦开发者视角,结合进程级并行、共享内存、CPU亲和性等关键技术,提供可落地的多核激活方案。

weixin_33744854的博客 2397

Python+Selenium多进程留言板自动化:架构解析与实战避坑

浏览器自动化技术是模拟用户操作的关键手段,Selenium作为最成熟的Web自动化框架,能驱动真实浏览器执行点击、输入等动态交互,解决异步渲染和复杂表单带来的采集难题。在留言板、评论等批量表单提交场景,人工逐条操作效率低下,且易被会话超时打断。基于Python的多进程方案,通过独立WebDriver实例并行处理任务,可有效绕开线程安全限制,大幅提升提交吞吐量。然而,动态元素定位、WebDriver被检测、验证码拦截、进程资源泄漏等问题,直接决定自动化脚本能否长期稳定运行。本文以一套留言板留言自动化工程为例,

weixin_30096975的博客 287

python读写excel

这是一个python读写excel文件的脚本文件。并通过python生成exe,通过MFC调用exe读写excel。里面配有使用视频

yolov11使用记录(训练自己的数据集)

本文介绍了如何安装和使用Ultralytics YOLOv11进行目标检测。首先,通过Anaconda创建并激活虚拟环境,安装必要的依赖库如PyTorch和Ultralytics。接着,从GitHub下载YOLOv11源码,并在PyCharm中配置环境。下载预训练的YOLOv11模型后,通过编写简单的Python脚本进行图片检测,验证环境配置的正确性。最后,文章提到可以基于此环境训练自定义模型。整个过程涵盖了从环境搭建到模型应用的完整流程,适合初学者快速上手YOLOv11。

IT菜鸟 7548

ESP32固定翼航模硬件设计与飞行力学解析

固定翼无人机是嵌入式控制与空气动力学交叉实践的经典载体,其飞行稳定性本质源于重心、气动中心与控制面的物理耦合关系。理解静稳定度(Static Margin)、升力系数调控、偏航力矩生成等基础原理,是实现可靠姿态控制的前提。在低成本工程约束下,材料刚度、结构弹性与电机-驱动协同设计共同决定了系统动态响应边界。ESP32平台凭借高精度PWM、低功耗双模无线及丰富GPIO,成为教学级航模开发的理想主控;而魔术贴基板、可调电池配重、柔性尾翼等创新结构,则将抽象的飞行力学概念转化为可测量、可调试的实体对象,广泛应用于

weixin_29859471的博客 365

光模块封装工艺简介

光模块按照部件可以分为芯片、光器件、光模块三个层级;按照应用领域大概可分为电信应用、数通应用两个领域;按照内部器件的封装工艺可分为TO、Box、COB三大类。 但是,无论是哪种类型的光模块,其生产工艺基本上可以分为封装、测试两大块。   那什么叫做器件封装呢?我的理解器件封装就是利用胶水、焊料、机械、热量等手段把器件按照一定的先后次序结合形成一个整体的过程,就好像早上吃的煎饼,把面粉、鸡蛋、脆饼、烤肠、葱花等这些“器件”,按照一定的顺序,通过食用油、甜面酱、加热、卷起来等手段结合到一起,形成了美味的

qq_33253182的博客 2827

工业级C#+YOLOv8缺陷检测系统:准确率98.5%、延迟<50ms的完整实现

本文分享了基于C#和YOLOv8的工业级表面缺陷检测系统实现方案。针对汽车零部件冲压件检测需求(60件/分钟,准确率>98%,延迟<100ms),作者对比了多种技术方案后选择了C#+YOLOv8+ONNX Runtime的组合,最终实现98.5%准确率和42ms延迟。 系统采用分层模块化架构,包含硬件层、采集层、推理层、业务层和控制层。核心优势包括:1)C#在工业环境下的稳定性和集成便利性;2)YOLOv8对复杂缺陷的泛化能力;3)ONNX Runtime GPU加速提升性能。文章详细介绍了硬件

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1141

Trimble RealWorks处理点云数据(一)之坐标转换

Trimble RealWorks处理点云数据之坐标转换

yilvyangguang520的博客 3621

GDB交叉编译与问题解决:从零到精通的深度指南

完成后,GDB会安装到/usr/local/gdb-aarch64/bin,可以用aarch64-linux-gnu-gdb --version检查。:得有支持目标架构的交叉编译工具链,比如gcc-arm-none-eabi(用于ARM裸机)或aarch64-linux-gnu-gcc(用于ARM Linux)。:在配置工具链时,运行aarch64-linux-gnu-gcc --version检查版本,确保工具链没问题。这种场景下用GDB调试,就像在荒野求生,但别慌,GDB依然是你的好伙伴。

大模型大数据攻城狮的专栏 1万+

如何解决Dify重新部署(升级到最新版)后出现的Setup failed: PermissionDenied等问题

重新部署(升级)Dify后遇到Permission denied错误?🚫 本文详细分析了这个问题的原因🔐,并提供了完整的解决步骤来修复这个问题✨

XiaoqiangClub的博客 1654

【Agent从入门到实践】01 从“工具函数”到“智能体”:Agent与传统程序的核心区别

传统程序是“你教它怎么做,它才做什么”,Agent是“你告诉它做什么,它自己想怎么做”。从技术层面来说,这个区别的背后,是Agent融合了大语言模型(LLM)、记忆能力、工具调用能力、决策能力等技术,才实现了“自主思考”和“灵活执行”,而这些技术,咱们会在后面的章节中一步步拆解,手把手教大家实现。

人工智能AI技术 988

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

上一篇: 浅析python多线程及ThreadPoolExecutor的使用及问题
下一篇: python文件和目录操作及文件的读写
hynkoala
博客等级 码龄10年 8粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值