此人真菜 2022-01-24 09:01 采纳率: 75.8%
浏览 80
已结题

openpyxl如何只保存第一个sheet

load的excel具有3个sheet,我对第一个sheet1进行编辑,想要将这个sheet1单独另存为一个excel。
请问有什么办法?尽可能全程少用内存。
1.load的时候只读取sheet1最好,省内存
2.如果不行接手save的时候只保存sheet1.

  • 写回答

2条回答 默认 最新

  • 陈年椰子 2022-01-24 09:25
    关注

    不管有几个sheet,只保留某个 sheet 的写法

    
    
    from openpyxl import load_workbook
    xlsfile = "data/data.xlsx"
    savefile = "data/data_save.xlsx"
    wb = load_workbook(xlsfile)
    print(wb.sheetnames)
    save_sheet = 'Sheet1'
    for s in wb.sheetnames:
        if s == save_sheet:
            continue
        wb.remove(wb[s])
    
    ws = wb[save_sheet]
    ws['C6'] = 'test '
    wb.save(savefile)
    wb.close()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 1月31日
  • 已采纳回答 1月24日
  • 创建了问题 1月24日