我有 Excel 文件
out_file
和 DataFrame dfSave
。
我希望这个 DataFrame 从 D 列开始附加 Excel。
我认为有时在此文件中可能会出现一些格式,例如 bgcolor 或“Wrap text”,希望这不会影响,因为 openpyxl 开始仅从“原始”行追加。
这就是我现在所拥有的,但就像我说的,我希望它从 D 列开始,在填充的行之后,忽略格式。
wb = load_workbook(filename=out_file)
ws = wb["Sheet 1"]
for r in dataframe_to_rows(dfSave, index=False, header=False):
ws.append(r)
wb.save(out_file)
您可以使用 openpyxl max row 获取最后使用的行,然后写入数据帧。
import pandas as pd
...
excel_file = 'out_file.xlsx'
sheet = 'Sheet1'
with pd.ExcelWriter(excel_file,
engine='openpyxl',
mode='a',
if_sheet_exists='overlay'
) as writer:
mr = writer.sheets[sheet].max_row # Get last used row
dfSave.to_excel(writer,
sheet_name=sheet,
startrow=mr+1,
startcol=3, # Column D (A is column 0)
index=False,
header=False
)