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

时间:2019-11-06 14:44:45

标签: python excel openpyxl

我有一个很大的xl文件(45 MB:15张,每张正好有7列和65536行)。 我试图将这15张纸上的所有数据附加到单独工作簿的1张纸上。我对基本xl工作表使用read_only = True,对要写入的工作簿使用write_only = True。

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

完成工作表[9] 完成与工作表[10] MemoryError

使用以下代码:

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)

关于如何进行这项工作的任何建议?

1 个答案:

答案 0 :(得分:0)

您是否安装了lxml? – 57分钟前查理·克拉克(Charlie Clark)

@CharlieClark-安装lxml起作用。 – Vishwesh Chaubal刚刚编辑