2026/2/21 9:05:54
网站建设
项目流程
抽奖网站怎么制作,wordpress 链接微博,手机软件制作和做网站相同,制作网站视频教程我先尝试了市面上常见的几套方案#xff1a;方法描述性能结果结论pandas方便但会一次性加载大内存20–40 秒太慢openpyxl原生解析 xlsx60 秒以上最慢pyxlsb解析 xlsb 二进制~3min30s可用但不够CSV#xff08;Excel 转 UTF-8#xff09;纯文本读取9 秒内最快方案#xff0c;…我先尝试了市面上常见的几套方案方法描述性能结果结论pandas方便但会一次性加载大内存20–40 秒太慢openpyxl原生解析 xlsx60 秒以上最慢pyxlsb解析 xlsb 二进制~3min30s可用但不够CSVExcel 转 UTF-8纯文本读取9 秒内最快方案无可争议 大量资料与 GPT 的技术建议都指向CSV 是读取速度最快的格式文本解析远快于 XML / PKG 结构但第一次用 CSV 时却发现速度不够快排查后发现❌ 用代码转换 xlsx → csv非常慢✅ 用原生 Excel 手动转换为 CSV UTF-8性能最高 WPS 转的 CSV 不是 UTF-8会导致解析异常不推荐最终测试CSV UTF-8 格式 → 读取 80 万行仅需 8–9 秒性能提升超过20 倍。方案一对比用XLSB 版本3.5 分钟from pyxlsb import open_workbook def read_xlsb_to_3d_list(file_path, sheet_name, chunk_size10000): result [] current_chunk [] row_count 0 with open_workbook(file_path) as wb: with wb.get_sheet(sheet_name) as sheet: for i, row in enumerate(sheet.rows(), start1): if i 1: continue row_data [cell.v for cell in row] current_chunk.append(row_data) row_count 1 if row_count % chunk_size 0: result.append(current_chunk) current_chunk [] if current_chunk: result.append(current_chunk) return result优点能直接读取 xlsb缺点速度慢不适合百万级数据最终推荐方案CSV 超高速版本9 秒内性能最佳的做法流程用 Excel 手动把.xlsx转为.csv (UTF-8)使用下面的纯 Python CSV 流式读取代码高性能 CSV 方案代码import csv def read_csv_as_3d_list(csv_path, batch_size10000, encodingutf-8): all_data [] batches [] current_batch [] with open(csv_path, r, encodingencoding, newline) as f: reader csv.reader(f) next(reader, None) # 跳过表头 for row in reader: all_data.append(row) current_batch.append(row) if len(current_batch) batch_size: batches.append(current_batch) current_batch [] if current_batch: batches.append(current_batch) return [all_data, batches]实测结果80 万行⏱ 耗时8–10 秒✔ 内存占用稳定✔ 三维结构满足 RPA 使用场景✔ 影刀流程执行无卡顿经验总结格式比工具更重要CSV 是绝对的性能王者XLSX 是压缩包 XML需要大量解析成本。CSV 是纯文本解析速度是数量级优势。不推荐用 WPS 转 CSVWPS 导出的 CSV 默认编码不是 UTF-8会导致解析异常。大文件一定要流式读取不要一次性加载 DataFrame否则内存和 CPU 都会爆。每 1 万行切片是最佳折中可兼顾可视化和后续处理的性能。