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

2020-07-02  本文已影响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,支持按行写入,速度快多了。

上一篇下一篇

猜你喜欢

热点阅读