【问题标题】:Adding sheets to an existing Excel File via Python通过 Python 将工作表添加到现有 Excel 文件
【发布时间】:2022-08-19 16:39:56
【问题描述】:

我正在使用 Python 中的 gui,它是我通过 tkinter 创建的。 现在我想将一些数据(我存储在二维列表中)保存在一个 excel 文件中。 我试图在一个功能中做到这一点。

这是我使用的代码

    def Convert(self):

        list_data_conv = self.list_data

        df=pd.DataFrame(list_data_conv)

        excel_file = \'{0}.xlsx\'.format(self.Entry_ExcelName.get())
        
        if (self.excel_file_old==excel_file):
            writer = pd.ExcelWriter(excel_file, engine=\'openpyxl\')
        
        else:
            writer  = pd.ExcelWriter(excel_file, engine=\'xlsxwriter\')

        self.excel_file_old=excel_file

        sheet_name = \'{0}\'.format(self.Entry_SheetName.get())

       

        df.to_excel(writer, sheet_name=sheet_name)

        writer.save()

使用此代码,一切正常,只是它仍然覆盖 Excel 文件中的现有工作表。

有简单的解决方法吗?

    标签: python python-3.x excel pandas tkinter


    【解决方案1】:

    ExcelWriter 的默认模式是“写”,为了追加到它,设置模式为追加('a')。

    只需将其替换为:

    writer  = pd.ExcelWriter(excel_file, engine='openpyxl', mode='a')
    

    如果上面的代码行不起作用,请尝试:

    writer  = pd.ExcelWriter(r'excel_file', engine='openpyxl', mode='a')
    

    现在应该工作.

    【讨论】:

    • 我在 ExcelWriter 中使用“if_sheet_exists”属性也可以。 pd.ExcelWriter(excel_file, engine='openpyxl', if_sheet_exists='new')
    猜你喜欢
    • 1970-01-01
    • 2018-03-22
    • 1970-01-01
    • 1970-01-01
    • 2013-06-27
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    • 2016-07-17
    相关资源
    最近更新 更多