如何用Python实现对sheet名称的批量提取填写

如何将下面的sheet页的名称赋值到当前工作簿内的有数据的行数后,并批量对后面所有的sheet页进行操作,赋值完成后,再将所有的sheet页提取出来合为一个Excel,该如何用Python实现

img

那要看你用的是什么库来完成这些操作

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7459511
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:python 实现读取excel中的所有sheet后,增加新的sheet,生成新的excel文件
  • 除此之外, 这篇博客: Python将一张表中多个sheet合并到一张表中的方法中的 写入Excel文件,路径可以任意指定 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    data.to_excel(writer, ‘page_1’, float_format=’%.5f’)

    writer.save()
    writer.close()

  • 以下回答来自chatgpt:

    对于这个问题,可以通过以下步骤用Python实现:

    1. 导入所需的库,包括openpyxlxlrdxlwt。如果没有安装这些库,可以使用pip命令进行安装。
    import openpyxl
    import xlrd
    import xlwt
    
    1. 打开Excel文件并获取所有的sheet页名称。可以使用openpyxl库的load_workbook函数打开文件并获取所有sheet页名称。
    wb = openpyxl.load_workbook("example.xlsx")
    sheet_names = wb.sheetnames
    
    1. 遍历每个sheet页,获取该sheet页的名称和行数,并将名称填写在有数据的行数后面。可以使用openpyxl库的iter_rows函数获得每一行的数据,并使用openpyxl库的cell方法获取单元格数据。
    for sheet_name in sheet_names:
        sheet = wb[sheet_name]
        max_row = sheet.max_row
        for row in sheet.iter_rows():
            if row[0].value:  # 判断是否有数据
                sheet.cell(row=row[0].row, column=max_row+1, value=sheet_name)
    
    1. 对Excel文件中的所有sheet页进行批量操作。根据具体的需求进行操作,可以通过遍历所有的sheet页来实现。
    for sheet_name in sheet_names:
        sheet = wb[sheet_name]
        # 进行具体的操作
    
    1. 将所有的sheet页提取出来,合并为一个Excel文件。使用xlrd库打开源文件,并遍历所有的sheet页,然后使用xlwt库创建一个新的Excel文件,并将每个sheet页的数据复制到新文件中。
    source_file = xlrd.open_workbook("source.xlsx")
    target_file = xlwt.Workbook()
    for sheet_name in source_file.sheet_names():
        source_sheet = source_file.sheet_by_name(sheet_name)
        target_sheet = target_file.add_sheet(sheet_name)
        for row in range(source_sheet.nrows):
            for col in range(source_sheet.ncols):
                target_sheet.write(row, col, source_sheet.cell(row, col).value)
    target_file.save("target.xls")
    

    这样就可以实现对Excel中sheet名称的批量提取和填写,并将所有的sheet页提取出来合并为一个Excel文件。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^


自己看吧。为什么你经常无满意答案结题?难怪没什么人愿意回答你了。