美文网首页
2020-07-02 合并多个Excel文件到一个文件

2020-07-02 合并多个Excel文件到一个文件

作者: 硅谷少年 | 来源:发表于2020-07-02 08:53 被阅读0次

    工作中有这个需求,网上找的工具IT限制不让用,要么用着不顺手。

    自己用python写了个:

    
    # -*- coding: utf-8 -*-
    
    #Author Albert.Wang 2020/7/2
    
    #合并多个Excel表格
    
    import xlsxwriter
    
    import xlrd
    
    import os
    
    work=xlsxwriter.Workbook(r'.\汇总.xlsx') #建立一个文件
    
    sheet=work.add_worksheet('汇总') #新建一个sheet
    
    path='.'                      #目录(放Excel表格的目录)
    
    file_list=os.listdir(path)
    
    file_name='';x1=1
    
    for file in file_list:                                #循环遍历列出所有文件名称
    
        if '台账' in file:
    
            file_name = os.path.join(path,file)              #路径+文件名
    
        else:
    
            continue
    
        workbook=xlrd.open_workbook(file_name)            #打开第一个文件
    
        sheet_name=workbook.sheet_names()                #获取第一个文件的sheet名称
    
        for file_1 in sheet_name:                        #循环遍历每个sheet
    
            table=workbook.sheet_by_name(file_1)                #以名字为索引
    
            rows=table.nrows                                    #获取sheet行数
    
            clos=table.ncols                                    #获取sheet列数目
    
            for i in range(rows):                              #循环遍历每一行
    
                sheet.write_row('A'+str(x1),table.row_values(i))#获取每一行的值追加到新表
    
                x1+=1
    
        print('已完成 ' + file_name)
    
    work.close()
    
    

    效果就是把当前文件夹下面所有excel文件中,文件名带【台账】2个字的,里面所有表的内容全提到一个汇总表里,保存为 汇总.xlsx,亲测可用,一秒能处理几十个文件。

    之前网上找的是xlwt写入的,只能支持生成xls文件,只能按单元格写入,我换成了xlsxwriter,支持按行写入,速度快多了。

    相关文章

      网友评论

          本文标题:2020-07-02 合并多个Excel文件到一个文件

          本文链接:https://www.haomeiwen.com/subject/rfllqktx.html