【问题标题】:Save a df in XLSM file sheet without loosing images and other formatting在 XLSM 文件表中保存 df,而不会丢失图像和其他格式
【发布时间】:2020-05-29 00:37:21
【问题描述】:

我有一个 Main.xlsm 文件和一个 df 。我想将 df 的完整值保存在 Main.xlsm 文件中的新工作表(称为 Output)中,而不会丢失 .xlsm 文件中的任何格式。

在 Main.xlsm 文件中,我有一张包含某些图像、某些合并单元格等的工作表。

我的代码

output_file_name = "Main.xlsm"
output_intermin_path = r"C:\Users"
output_path = "%s\\%s" % (output_intermin_path,output_file_name)

book = load_workbook(output_path, keep_vba = True)
writer = pd.ExcelWriter(output_path, engine = 'openpyxl')
writer.book = book

df.to_excel(writer, sheet_name = 'Output')
writer.save()
writer.close()

上面的代码运行良好,但问题是我丢失了图像和某些单元格合并,我不得不让它变得花哨。当我运行这段代码时,我失去了所有这些东西!!

【问题讨论】:

    标签: python-3.x pandas openpyxl


    【解决方案1】:

    您可以安装Pillow并导出所有图像。

    pip install Pillow
    

    然后来自documentation

    from openpyxl import Workbook
    from openpyxl.drawing.image import Image
    
    wb = Workbook()
    ws = wb.active
    ws['A1'] = 'You should see three logos below'
    
    # create an image
    img = Image('logo.png')
    
    # add to worksheet and anchor next to cells
    ws.add_image(img, 'A1')
    wb.save('logo.xlsx')
    

    源代码: https://openpyxl.readthedocs.io/en/stable/_modules/openpyxl/drawing/image.html#Image

    【讨论】:

      猜你喜欢
      • 2021-08-27
      • 2016-11-24
      • 2012-03-01
      • 2012-11-26
      • 2013-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多