簡體   English   中英

Python Openpyxl out of memory 在讀寫操作期間

[英]Python Openpyxl out of memory during read write operation

我有一個很大的 xl 文件(45 MB:15 張,每張正好有 7 列和 65536 行)。 我正在嘗試將這 15 張表格中的所有數據 append 放入單獨的工作簿上的一張表格中。 我將 read_only=True 用於基本 xl 工作表,將 write_only=True 用於要寫入的工作簿。

我面臨的問題是,在用 11 張紙處理完代碼后(檢查下面的代碼),它會拋出 memory 錯誤:

完成工作表 [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)

關於如何使這項工作的任何建議?

你有安裝 lxml 嗎? – 查理克拉克 57 分鍾前

@CharlieClark - 安裝 lxml 有效。 – Vishwesh Chaubal 剛剛編輯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM