追加到下一个空列-使用Pandas数据框

时间:2019-09-17 08:21:48

标签: python pandas

在SO上浏览了多个问题,但找不到解决我问题的任何现有解决方案。

我想使用pandas和openpyxl写入excel文件中的下一个空列。

我在solution下找到了如何写入下一个空行的方法,但是即使在代码中编辑了起始行之后也无法将其写入下一个空列。

在上一次通话中,我添加了“ startcol = 2”。它显然已添加到C列,但在下一个空行中。我需要它从下一个空列开始,但从最顶部开始,例如C1,D1等

def append_df_to_excel(filename, df, sheet_name='Pandora1', startrow=None,
                       truncate_sheet=False, 
                       **to_excel_kwargs):
    # ignore [engine] parameter if it was passed
    if 'engine' in to_excel_kwargs:
        to_excel_kwargs.pop('engine')
    writer = pd.ExcelWriter(filename, engine='openpyxl')
    try:
        # try to open an existing workbook
        writer.book = load_workbook(filename)
        # get the last row in the existing Excel sheet
        # if it was not specified explicitly
        if startrow is None and sheet_name in writer.book.sheetnames:
            startrow = writer.book[sheet_name].max_row
        # truncate sheet
        if truncate_sheet and sheet_name in writer.book.sheetnames:
            # index of [sheet_name] sheet
            idx = writer.book.sheetnames.index(sheet_name)
            # remove [sheet_name]
            writer.book.remove(writer.book.worksheets[idx])
            # create an empty sheet [sheet_name] using old index
            writer.book.create_sheet(sheet_name, idx)
        # copy existing sheets
        writer.sheets = {ws.title:ws for ws in writer.book.worksheets}
    except FileNotFoundError:
        # file does not exist yet, we will create it
        pass
    if startrow is None:
        startrow = 0
    # write out the new sheet
    df.to_excel(writer, sheet_name, startrow=startrow, **to_excel_kwargs)
    # save the workbook
    writer.save()  

append_df_to_excel("Pandora_Hashtags2.xlsx", df, sheet_name='Pandora1', startrow=None, startcol=2, truncate_sheet=False, engine='openpyxl', index = False)

0 个答案:

没有答案