影刀RPA CSV大文件处理:千万行数据的读取与转换
📅 2026/7/8 0:18:13
👁️ 次浏览
影刀RPA CSV大文件处理千万行数据的读取与转换作者林焱什么情况用什么日常工作中总有人用Excel打开一个50MB的CSV然后电脑卡死。更惨的是上司让你把A表和B表按客户ID关联挑出没有匹配的记录——A表200万行B表150万行Excel直接报文件过大无法打开。这时候不要硬扛Excel。影刀Python的组合才是正确姿势用影刀做文件采集和流程调度用Python的pandas做数据处理。CSV处理在RPA场景中的典型需求多CSV合并每天生成的日志文件合并成月报CSV大文件筛选从几百万行里抽出特定条件的数据CSV格式转换分号分隔转逗号GBK转UTF-8CSV与Excel互转怎么做第一步分块读取大文件拼多多店群自动化上架方案对于几百MB甚至几GB的CSV一次性读完内存直接炸。importpandasaspd chunk_size100000# 每次读10万行chunks[]fori,chunkinenumerate(pd.read_csv(rD:\big_data.csv,chunksizechunk_size,encodingutf-8)):# 只保留需要的列chunkchunk[[用户ID,订单金额,下单时间]]# 只保留特定条件chunkchunk[chunk[订单金额]100]chunks.append(chunk)print(f已处理第{i1}批共{len(chunk)}行)# 合并所有分块resultpd.concat(chunks,ignore_indexTrue)result.to_csv(rD:\filtered_data.csv,indexFalse)第二步多CSV合并影刀从FTP或邮件里拉了一堆CSV文件下来需要合并。影刀操作步骤1. 【遍历文件夹】遍历 D:\csv_files\ 下所有.csv文件 2. 对每个文件【执行Python】调用合并脚本importosimportpandasaspd folderrD:\csv_filesall_data[]forfinos.listdir(folder):iff.endswith(.csv):dfpd.read_csv(os.path.join(folder,f))df[来源文件]f# 标记数据来源all_data.append(df)print(f已加载:{f},{len(df)}行)mergedpd.concat(all_data,ignore_indexTrue)merged.to_csv(rD:\merged_output.csv,indexFalse)print(f合并完成共{len(merged)}行)踩过的坑不同CSV文件的列可能不一样多。比如A文件有8列B文件有9列。pd.concat默认对齐列名多出来的列填NaN。如果字段顺序不一致但要按位置合并用pd.concat(all_data, ignore_indexTrue, axis0)是不够的——需要先统一列名。第三步编码与分隔符处理中文CSV最常见的坑是编码问题和分隔符不一致。importchardet# 自动检测编码withopen(rD:\unknown.csv,rb)asf:rawf.read(10000)resultchardet.detect(raw)encodingresult[encoding]# 如 GB2312 或 utf-8# 用检测到的编码读dfpd.read_csv(rD:\unknown.csv,encodingencoding)# 自动检测分隔符importcsvwithopen(rD:\unknown.csv,r,encodingencoding)asf:dialectcsv.Sniffer().sniff(f.read(5000))delimiterdialect.delimiter# 如 , 或 ; 或 \tdfpd.read_csv(rD:\unknown.csv,encodingencoding,sepdelimiter)第四步CSV与Excel互转CSV转Excel带格式影刀操作步骤1. 【执行Python】读取CSV并写出xlsx 2. 【打开Excel】打开生成的xlsx文件 3. 【自动调整列宽】 4. 【设置表头加粗】 5. 【保存】importpandasaspdfromopenpyxlimportload_workbookfromopenpyxl.stylesimportFont,Alignment,PatternFill# CSV读入dfpd.read_csv(rD:\data.csv)# 写出xlsxdf.to_excel(rD:\data.xlsx,indexFalse,sheet_name数据)# 美化wbload_workbook(rD:\data.xlsx)wswb.active# 表头加粗背景色forcellinws[1]:cell.fontFont(boldTrue)cell.fillPatternFill(start_color4472C4,end_color4472C4,fill_typesolid)cell.fontFont(boldTrue,colorFFFFFF)# 自动列宽forcolinws.columns:max_lenmax(len(str(cell.valueor))forcellincol)ws.column_dimensions[col[0].column_letter].widthmin(max_len2,50)wb.save(rD:\data.xlsx)有什么坑坑1chunksize太小导致处理极慢TEMU店群如何管理运营chunksize设成1000行一个2000万行的文件要循环20000次每次pandas都要重新初始化各种内部结构。推荐设成50000-200000行在内存和速度之间取平衡。坑2dtype推断错误pandas自动推断列类型时可能把00123推断为整数123丢失前导零。solution读的时候指定dtypedfpd.read_csv(file,dtype{工号:str,手机号:str})坑3特殊字符导致解析失败CSV中某行包含未转义的引号或换行符会导致解析错位。用error_bad_linesFalse跳过问题行但可能丢数据更好的是加quotingcsv.QUOTE_ALL规范导出。坑4内存溢出即使分块处理如果每个chunk都在accumulate累积总内存占用还是会飙升。对于不需要全量结果的场景如只统计不保留细节在chunk内部做完聚合就扔掉total0forchunkinpd.read_csv(file,chunksize100000):totalchunk[金额].sum()# chunk在这之后被GC回收print(f总金额:{total})总结大CSV处理的核心原则只有一条不要试图一次性把所有数据装进内存。分块读、流式处理、及时释放这三个做到就不会翻车。
终极GTNH汉化指南:3步让格雷科技新视野秒变中文界面 【免费下载链接】Translation-of-GTNH GTNH整合包的汉化 项目地址: https://gitcode.com/gh_mirrors/tr/Translation-of-GTNH
你是否曾经因为格雷科技新视野(GTNH)整合包中复杂的英…
📅 2026/7/8 0:18:13
B站视频下载终极指南:轻松获取4K大会员和充电专属内容 【免费下载链接】bilibili-downloader B站视频下载,支持下载大会员清晰度4K,持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader
你是否曾为无法下载…
📅 2026/7/8 0:16:12
高级浏览器资源嗅探扩展完全配置指南:从技术原理到实战应用 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch
猫抓(cat-catch)是一款专业…
📅 2026/7/8 0:16:12
✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、算法改进、程序设计科研仿真。🍎完整代码获取 定制创新 论文复现私信🍊个人信条:做科研,博学之、审问之、慎思之、明辨之、…
📅 2026/7/8 1:18:26
15个实用的代码生成AI工具,Copilot替代
# 15个实用的代码生成AI工具,Copilot替代
在当今快速发展的软件开发领域,AI驱动的代码生成工具已经成为开发者的得力助手。虽然GitHub Copilot广受欢迎,但市场上有许多其他优秀的代码生成AI…
📅 2026/7/8 1:18:26
1.ps 命令
用途:获取系统进程的静态快照,查看某一时刻运行的进程信息。
主要参数
a:显示所有终端下的用户进程u:以面向用户的格式输出,展示CPU、内存占用、所属用户x:展示没有控制终端的后台进程eÿ…
📅 2026/7/8 1:18:26
文章目录每日一句正能量摘要一、Jetson平台架构与异构计算概览二、CUDA内存模型与层次结构2.1 CUDA内存层次详解2.2 Jetson统一内存的特殊性三、CUDA核函数设计与线程模型3.1 线程层次结构3.2 卷积核函数实例:基础版3.3 优化版:共享内存Tiling策略3.4 Te…
📅 2026/7/8 1:18:26
一、2026年嵌入式行业的“冰火两重天”
2026年,嵌入式行业正经历前所未有的供需失衡。一边是新能源、汽车电子、储能、机器人等领域对嵌入式人才的需求井喷式增长,企业开出具有竞争力的薪酬,却常常感叹“一将难求”;另一边是大量求…
📅 2026/7/8 1:18:26
这项由中南大学与香港科技大学联合开展的研究,以预印本形式发布于2026年6月30日,论文编号为arXiv:2606.31537,感兴趣的读者可通过该编号查询完整论文。每当我们看到AI生成的图片中出现歪七扭八、根本看不清的文字时,大多数人都会下…
📅 2026/7/8 1:16:26
Docker 彻底卸载指南:CentOS/Ubuntu 双系统 5 步清理残留文件当 Docker 环境出现版本冲突、安装失败或需要迁移时,常规的卸载命令往往无法彻底清理系统。残留的配置文件、依赖项和缓存文件可能导致新安装的 Docker 出现各种诡异问题。本文将提供一套完整…
📅 2026/7/8 0:00:10
SQL 数据分析性能优化实战:窗口函数 vs 子查询 vs 临时表 在数据分析工作中,SQL查询性能往往是决定工作效率的关键因素。面对复杂的业务场景,如何选择最优的查询方案?本文将深入对比窗口函数、子查询和临时表三种技术方案…
📅 2026/7/8 0:00:10
日期:2026-07-07> 本期聚焦近一日(2026-07-06 至 07-07)出台的金融与行业政策,按"背景—核心—影响—受益/风险"四维度解读。政策内容依据原始发布信息整理,解读仅供参考,不构成投资建议。一、…
📅 2026/7/8 0:00:10
1. 项目背景与核心需求 在嵌入式系统开发中,快速精确的数据检索是一个常见但极具挑战性的需求。特别是在工业控制、医疗设备和物联网终端等场景下,系统往往需要在毫秒级时间内完成关键参数的读取和写入操作。传统基于Flash存储的方案存在擦写次数有限、操…
📅 2026/7/7 12:08:23
1. 工业电流环信号传输的基础认知在工业自动化领域,4-20mA电流环传输技术已经持续服役超过半个世纪。这种看似简单的信号传输方式之所以能经久不衰,核心在于其独特的抗干扰能力——电流信号在长距离传输时几乎不受线路电阻和电压波动的影响。我曾在化工厂…
📅 2026/7/7 9:08:28
最近在项目里尝试用 YOLO 做目标检测,从环境搭建到模型训练,再到推理部署,整个过程踩了不少坑。网上的资料虽然多,但要么版本老旧,要么步骤零散不成体系,对于刚入门的新手来说,很容易卡在某个环…
📅 2026/7/7 6:33:36
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/7 9:08:31
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/7 9:08:30
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/7 4:32:18