使用 Openpyxl 将数据从一个工作簿移动到另一个工作簿

Moving Data From One Workbook To Another With Openpyxl

我正在尝试使用现有工作簿中的数据创建一个新工作簿。现有工作簿非常大,因此我将其加载为只读工作簿。 因此,我需要遍历行,但我似乎无法弄清楚如何执行此操作并将数据获取到新工作簿中。 除此之外,数据来自 A 列,并且仅当 B 列中的单元格显示 "IL".

时才会放入新工作簿中
for row in existing_sheet.iter_rows(min_col=2, max_col=2):
    for cell in row:
        print("CHECKING IF IT IS IN IL")
        if "IL" in str(cell.value):
            currSheet.cell(row=counter, column=1).value = existing_sheet.cell(row=counter, column=41).value

我不断收到弃用警告,而且程序的运行速度比我想象的要慢得多。 当我简单地执行打印语句来查看单元格值时,它会在几分钟内遍历所有 40,000 行。 我当前的代码需要数小时,甚至更长。

existing_sheet.cell(row=counter, column=41).value 这就是一切都变慢的原因。在只读模式下,每次调用 iter_rows()cell() 都会强制 openpyxl 再次解析工作表。但是您需要更宽的行才能获得第 41 个单元格 row[40].

for row in ws1.iter_rows(min_col=2, max_col=41):
    if "IL" in row[2].value:
        ws2.cell(row=row[2].row, column=1).value = row[40].value