叶秋哇 2023-02-15 08:19 采纳率: 38.1%
浏览 18

xlsxwriter 创建多个Excel文件

xlsxwriter 模块如何创建多个Excel文件,先读取先筛选符合要求的Excel文件并将筛选出的Excel文件存到新的Excel文件中,筛选出几个就创建几个,但是现在卡在创建多个Excel文件了 客户那边只让用xlsxwriter模块

img

img

  • 写回答

4条回答 默认 最新

  • 小兔子编程 少儿编程领域优质作者 2023-02-15 08:54
    关注

    首先,使用xlsxwriter模块读取原始Excel文件:

    import xlsxwriter
    
    # open the existing file
    workbook = xlsxwriter.Workbook('original_file.xlsx')
    worksheet = workbook.add_worksheet()
    

    然后,使用xlsxwriter模块的函数对excel文件进行筛选:

    # Do some filtering
    for row in range(worksheet.nrows):
        # get the cell value to check against conditions
        cell_value = worksheet.cell(row, 0).value 
        
        # filter out certain values
        if cell_value == "start":
            # remember row position
            start_row = row
        elif cell_value == "end":
            # remember row position
            end_row = row
            
    # process data according to the filters
    processed_data = worksheet.row_slice(start_row, end_row)
    

    最后,将处理过的数据写入新创建的Excel文件:

    # create new workbook for each filtered file
    new_workbook = xlsxwriter.Workbook("filtered_file.xlsx")
    
    # add new worksheet to the new workbook
    new_worksheet = new_workbook.add_worksheet()
    
    # and write the processed_data
    for row in range(len(processed_data):
        for col in range(len(processed_data[row])):
            new_worksheet.write(row, col, processed_data[row][col])
    

    如果需要创建多个Excel文件,可以使用循环来重复上述操作:

    # iterate over a list of files
    for filename in file_list:
        # open the existing file
        workbook = xlsxwriter.Workbook(filename)
        worksheet = workbook.add_worksheet()
        
        # Do some filtering...
    
        # create new workbook for each filtered file
        new_workbook = xlsxwriter.Workbook("filtered_" + filename)
    
        # add new worksheet to the new workbook
        new_worksheet = new_workbook.add_worksheet()
    
        # and write the processed_data
        for row in range(len(processed_data):
            for col in range(len(processed_data[row])):
                new_worksheet.write(row, col, processed_data[row][col])
    
    评论

报告相同问题?

问题事件

  • 创建了问题 2月15日

悬赏问题

  • ¥15 esp32驱动GC9A01循环播放视频
  • ¥15 惠普360g9的最新bios
  • ¥15 配置hadoop时start-all.sh老是启动失败
  • ¥30 这个功能用什么软件发合适?
  • ¥60 微信小程序,取消订单,偶尔订单没有改变状态
  • ¥15 用pytorch实现PPO算法
  • ¥15 关于调制信号的星座图?
  • ¥30 前端传参时,后端接收不到参数
  • ¥15 这是有什么问题吗,我检查许可证了但是显示有呢
  • ¥15 机器学习预测遇到的目标函数问题