如何将Excel表格保存到原始工作簿中?

我有一个这样的函数:


def DuplicateEachRow():

        import pandas as pd

        import pathlib

        full_path = str(pathlib.Path().absolute()) + '\\' + new_loc


        df = pd.read_excel(full_path, header=None, sheet_name='Sheet3')

        print(df)


        # duplicate the rows:

        dup_df = pd.concat([df, df], ignore_index=True)


        # using openpyxl

        with pd.ExcelWriter(new_loc) as writer:

            dup_df.to_excel(writer)

我需要保留相同的功能,但不是将一张纸写入新文件。我需要编辑该特定工作表并将其保存回包含其他工作表的工作簿中。


编辑(更多解释):我的工作簿中有 4 张工作表,只有一张工作表(Sheet3)我需要使用上面的功能,然后将其保存回工作簿。


这也不起作用,在保存时指定工作表名称:


def DuplicateEachRow():

        import pandas as pd

        import pathlib

        full_path = str(pathlib.Path().absolute()) + '\\' + new_loc


        df = pd.read_excel(full_path, header=None, sheet_name='GTL | GWL Disclosures')

        print(df)


        # duplicate the rows:

        dup_df = pd.concat([df, df], ignore_index=True)


        # using openpyxl

        with pd.ExcelWriter(new_loc) as writer:

            dup_df.to_excel(writer, sheet_name='GTL | GWL Disclosures')


慕标琳琳
浏览 121回答 1
1回答

繁花不似锦

要在同一个 Excel 中添加新闻表,您必须以追加模式打开文件。看看下面的代码:def DuplicateEachRow():    import pandas as pd    import pathlib    full_path = str(pathlib.Path().absolute()) + '\\' + new_loc    df = pd.read_excel(full_path, header=None, sheet_name='GTL | GWL Disclosures')    print(df)    # duplicate the rows:    # keep the index, so you can sort the rows after    dup_df = pd.concat([df, df])    #sort the rows by the index so you have the duplicate one just after the initial one    dup_df.sort_index(inplace=True)    # using openpyxl    #open the file in append mode     with pd.ExcelWriter(new_loc, mode='a') as writer:        #use a new name for the new sheet        #don't save the header (dataframe columns names) and index (dataframe row names) in the new sheet          dup_df.to_excel(writer, sheet_name='Sheet3', header=None, index=None)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python