Python: PD.ExcelWriter 不追加数据
Python: PD.ExcelWriter does not append data
我正在尝试将 DataFrame 填充到现有 excel,如下所示:
with pd.ExcelWriter(excel, engine="openpyxl", mode='a') as writer:
df.to_excel(writer, sheet_name= sheet)
我的 DataFrame 有大约 50k 数据。过程大约需要 30 分钟,但仍未完成。
上面的代码在另一台机器上一分钟内完成。两台机器实际上配置相同,但不知道为什么其中一台机器不能正常工作。
现有 excel 是一个 7mb 的文件,有 100,000 行。
我可以使用 Xlwings 追加数据:
excel_app = xw.App(visible=False)
excel_book = excel_app.books.open(path)
excel_sheet = excel_book.sheets[sheetname]
col_A = excel_sheet.range('A1')
start_row = col_A.end('down').row + 1 #This line is to find last row
excel_sheet.range('A'+ str(start_row)).value = df
excel_sheet.range('' + str(start_row) + ':' + str(start_row)).api.Delete(DeleteShiftDirection.xlShiftUp) #Delete Header from appended excel
excel_book.save()
excel_book.close()
excel_app.quit()
Xlwings
在 30 秒内完成了整个过程。
我正在尝试将 DataFrame 填充到现有 excel,如下所示:
with pd.ExcelWriter(excel, engine="openpyxl", mode='a') as writer:
df.to_excel(writer, sheet_name= sheet)
我的 DataFrame 有大约 50k 数据。过程大约需要 30 分钟,但仍未完成。
上面的代码在另一台机器上一分钟内完成。两台机器实际上配置相同,但不知道为什么其中一台机器不能正常工作。
现有 excel 是一个 7mb 的文件,有 100,000 行。
我可以使用 Xlwings 追加数据:
excel_app = xw.App(visible=False)
excel_book = excel_app.books.open(path)
excel_sheet = excel_book.sheets[sheetname]
col_A = excel_sheet.range('A1')
start_row = col_A.end('down').row + 1 #This line is to find last row
excel_sheet.range('A'+ str(start_row)).value = df
excel_sheet.range('' + str(start_row) + ':' + str(start_row)).api.Delete(DeleteShiftDirection.xlShiftUp) #Delete Header from appended excel
excel_book.save()
excel_book.close()
excel_app.quit()
Xlwings
在 30 秒内完成了整个过程。