Python Openpyxl 在读写操作期间内存不足

Python Openpyxl out of memory during read write operation

我有一个很大的 xl 文件(45 MB : 15 sheets,每个都有 7 列和 65536 行)。 我正在尝试将这 15 个 sheet 中的所有数据附加到单独工作簿上的 1 个 sheet 中。我正在使用 read_only=True 作为基础 xl sheet 和 write_only=True 作为要写入的工作簿。

我面临的问题是代码处理完 11 sheets(检查下面的代码)后,它会抛出内存不足错误:

已完成 sheet[ 9 ] 完成 sheet[ 10 ] 内存错误

使用下面的代码:

import openpyxl as xl
wb1 = xl.load_workbook(path,read_only=True)
wb2 = xl.Workbook(write_only=True)
wb2_ws1=wb2.create_sheet()
sheets = wb1.sheetnames

print("Combine function read only")
for j in range(len(sheets)):

    for row in wb1[sheets[j]].iter_rows(min_row=2 if j != 0 else 1,max_row=wb1[sheets[j]].max_row, min_col=None, max_col=None,values_only=False):
        wb2_ws1.append(cell.value for cell in row)
    print("Done with sheet[",j,"]")

wb2.save(dest_filename)

关于如何使这项工作有任何建议吗?

你有安装lxml吗? – 查理克拉克 57 分钟前

@CharlieClark - 安装 lxml 成功了。 – Vishwesh Chaubal 刚刚编辑