收藏!使用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, chunksizechunk_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_onlyTrue) read_ws read_wb.active # 以流式方式逐行读取、处理和写入 row_count 0 for row in read_ws.iter_rows(min_row2): 这里代码是对每一行进行处理......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.coloradmin.cn/o/2414030.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!