如何将 D 列中的数据框附加到 Excel 文件?

问题描述 投票:0回答:1

我有 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)

桌子初始状态的图像

桌子最终状态的图像

python pandas dataframe openpyxl
1个回答
0
投票

您可以使用 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
                    )
© www.soinside.com 2019 - 2024. All rights reserved.