【问题标题】:Can't append Excel sheet with xlsxwriter无法使用 xlsxwriter 附加 Excel 工作表
【发布时间】:2020-11-18 20:34:40
【问题描述】:

我正在 Excel 工作表中创建一个表格,问题是我的代码删除了其他现有工作表 和 appends 选项不适用于 xlsxwriter

    with pd.ExcelWriter('Template.xlsx', engine='xlsxwriter') as writer:
        df.to_excel(writer, sheet_name='SheetName', startrow=1, header=False, index=False)
        workbook = writer.book
        worksheet = writer.sheets['SheetName']
        (max_row, max_col) = df.shape
        column_settings = [{'header': column} for column in df.columns]
        worksheet.add_table(0, 0, max_row, max_col - 1
                            , {'columns': column_settings
                               ,"name": "TableName"}
                            )
        worksheet.set_column(0, max_col - 1, 12)
    writer.save()

有什么办法吗??

【问题讨论】:

    标签: python-3.x excel pandas xlsxwriter


    【解决方案1】:

    实际上,我发现 xlsxwriter 不能将其附加到仅写入(如果存在则擦除其他工作表)。 解决方案是使用 openpyxl,这是一个代码示例:

    import openpyxl 
    from openpyxl import Workbook        # Module needed for creating new workbook
    from openpyxl import load_workbook   # Module needed for loading existing workbook
    
    wb = load_workbook(filename)
    ws = wb["sheetName"]
    
    for row in dataframe_to_rows(dataframe, index=False, header=True):
        ws.append(row)
    wb.save(filename)
    

    【讨论】:

      猜你喜欢
      • 2018-12-26
      • 2019-12-01
      • 2019-12-10
      • 1970-01-01
      • 2018-06-20
      • 2018-10-26
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多