当前位置: 首页 > news >正文

收藏!使用Python读写Excel大数据文件的3种有效方式

有人问Python怎么处理大数据的Excel文件?

Python处理Excel大数据有很多方式,不过Excel撑死才104万行,能有多大的数据,一般用pandas读取就可以,pandas有专门的分块读取模式,比如说每次只读取1万行用于处理,这样就不会太占用内存。

pandas read_excel方法有专门的参数chunksize用于设置分块读取,代码示例如下:

import pandas as pd # 读取'test_data.xlsx'大文件 # 分块读取以减少内存占用 chunk_size = 10000 chunks = pd.read_excel('test_data.xlsx', chunksize=chunk_size) # 对每个数据块进行处理 processed_data = [] for i, chunk in enumerate(chunks): 这里代码是对每个数据块进行处理......

读取Excel能用pandas尽量用pandas,但如果Excel文件非常大,已经远大于内存容量了,或者你相对Excel有更多其他处理,比如修改格式等,则可以用OpenPyXL。

它有专门的流式读取方式(只读模式read-only mode)来处理Excel,底层原理是OpenPyXL不会加载整个Excel文件到内存,而是保存为一个逻辑对象,在用的时候才流式去读取它。

from openpyxl import load_workbook # 使用只读模式读取大型Excel文件 read_wb = load_workbook('large_data.xlsx', read_only=True) read_ws = read_wb.active # 以流式方式逐行读取、处理和写入 row_count = 0 for row in read_ws.iter_rows(min_row=2): 这里代码是对每一行进行处理......

OpenPyXL也可以流式写入Excel,原理同读取一样,采用write_only模式。

另外一个可以大规模写入数据,不占用内存的是库是XlsxWriter,它有个“常量内存”模式,支持每写入一行,就在内存中清除上一行占用的空间,意味着内存只存有一行数据,永远是够用的。

import xlsxwriter # 创建一个文件名,用于写入数据 file_name = 'large_data_constant_memory.xlsx' # 创建一个工作簿对象,并启用常量内存模式 workbook = xlsxwriter.Workbook(file_name, {'constant_memory': True}) worksheet = workbook.add_worksheet() 这里可以写入大量数据,不会占用内存......

除了以上几个库,还有像Dask、Polars、Modin、Rapids等库可以处理Excel大数据集,都是类似pandas的操作模式,但速度会快很多,可以试试。

http://www.jsqmd.com/news/481836/

相关文章:

  • XlsxWriter,一款强大的Python Excel处理库
  • HTTP 协议 qeury 参数的说明 - liyan
  • 2026年度北京上门回收老酒名酒正规机构官方测评排行 - 品牌排行榜单
  • 盘式电机:电动车驱动的未来之星
  • 基于时间约束的CAN网络管理一致性测试方法复现与实现
  • 2026年2月,探寻受欢迎的成都火锅品牌都有谁,附近火锅/火锅/牛肉火锅/美食/地摊火锅/社区火锅,成都火锅品牌排行 - 品牌推荐师
  • 2026六大城市高端腕表维修“二次损伤”调查报告:北京上海百达翡丽、南京杭州欧米茄养护避坑全解析 - 时光修表匠
  • DigVPS 测评 - 新增商户 HostBlazer 并奉上 US Central - Dallas 产品详评数据,性能不错,适合建站,九折出售中。
  • 北京名酒老酒上门回收实测:4家靠谱商家测评排名,藏家变现不踩坑 - 品牌排行榜单
  • 3-sum 问题 - liyan
  • emacs! start org-mode! --org-mode使用备注 - liyan
  • python调试方法(其一) - liyan
  • CLI-Anything + Gear 最佳实践与踩坑修复沉淀
  • ratelimit服务流量限制 - liyan
  • 北京卡地亚维修、深圳爱彼保养、杭州万国检修|6城高端腕表维修科普指南 - 时光修表匠
  • windows用户有哪些必备的小工具软件能大幅提高效率而且占用资源低?
  • web中各个标签的关系
  • CF2208D1,D2 Tree Orientation (Easy,Hard Version) Solution
  • 2026年3月偏心半球阀批发厂家排行榜单,优质源头厂推荐,偏心半球阀厂家技术领航者深度解析 - 品牌推荐师
  • 上海积家维修、深圳宝玑保养、南京昆仑检修|6城高端腕表维修科普指南 - 时光修表匠
  • 百考通精准贴合学生写作痛点,打造“一站式”毕业论文服务体系
  • 学习笔记+ZY_75843《机器人操作系统(ROS2)入门与实践 》_刘相权等+记录
  • 告别学术焦虑:百考通AI,覆盖从“降AI痕迹”到“降重复率”的全场景需求
  • 网络流 学习笔记(施工中)
  • 守住学术原创底线!百考通AIGC检测,筑牢学术原创防线,为论文合规性保驾护航
  • 直接上结论:10个AI论文网站测评!继续教育毕业论文写作必备工具推荐
  • 百考通AI:让文献综述从繁琐的体力劳动,转变为高效的学术洞察过程
  • LongFact:评估LLM长文本事实性的基准测试
  • 稳压泵实力厂家2026年新动态,一文速览,排污泵/恒压变频供水设备/消防泵/消防水箱/玻璃钢水箱,稳压泵公司有哪些 - 品牌推荐师
  • 百考通精准贴合不同学历层次的学术需求,实现了从选题到成文的全流程赋能