openpyxl,处理大型exel文件

问题描述 投票:0回答:1

我使用openpyxl进行数据处理。

第一次,我将数据复制代码文件写入文件(xlsx-> xlsx)以进行测试。

# open input file
wb = load_workbook(filename='input.xlsx', read_only=True)
ws = wb['sheet name']

# create output file
out = Workbook(write_only=True)
out_sh = out.create_sheet('sheet name')

# copy data
for rows in ws:
   out_sh.append(cells.value for cells in rows)

# save file
out.save('output.xlsx')
wb.close()
out.close()

输入文件大小为394 MB,并且有6张。5张纸的尺寸是1048576行×17(A〜Q)列。我的内存大小为8 GB,通常在使用中为66%(空闲状态,大约剩余2.5 GB)。最后一张纸的尺寸很小。我测试了[[一张大纸。

在openpyxl中,我使用

read_only

write_only选项进行优化,但是当我为仅1张(不是整个394MB文件)运行数据复制代码时,得到的是MemoryError 如果添加了数据分析代码,它将只能处理较小的文件。

我还没有尝试过大文件处理的任何[[优化技术

python-3.x optimization io openpyxl
1个回答
0
投票
Memory Error Thread 1Memory Error Thread 2

对您的问题有帮助吗?

© www.soinside.com 2019 - 2024. All rights reserved.