用Python一键汇总千个Excel表格,做办公室最靓的仔(附程序)_python 批量汇总excel文件

👉[[CSDN大礼包:《python安装包&全套学习资料》免费分享]]安全链接,放心点击

把单个的Excel表格汇入一个总表中去,也许你在想这还不简单吗?Excel不就是有合并表的功能么,两下就搞定了,但是一下要汇入上千个的表格呢,这个时候慌了吗?

img

看到这些表单,是不是有点慌

img

1059个对象

答案当然是不要慌,用Python,省时省力,自动化处理不香吗?

接着往下看,学会这招,做办公室最靓的仔!

思路

1. 创建一个空表名叫"总表",表格形式须和合并表的一样
    2. 获取需要合并文件夹中的所有excel表的名字(文件名)
    3. 开始遍历excel表
    4. 先读取数据,然后写入事先创建好总表中
    5. 当读取完下一个待合并表的数据,然后准备写入到总表时,必须先获取到总表的行数,不然之前的数据将会被覆盖掉。
    6. 遍历结束,保存总表的数据

所需技能包

会用python对excel表的读操作

会用python对excel表的写操作

完整代码:

import os
import xlwt
import xlrd
import xlutils.copy
import time
"""
公司老板需求:

    1. 将上千个Excel表合并成一个表里
    2. 不管你用什么方法,实现效果就行
"""
# #################################### 代码走起来呀!!!
"""
思路分析:
    1. 创建一个空表名叫"总表",表格形式须和合并表的一样
    2. 获取需要合并文件夹中的所有excel表的名字(文件名)
    3. 开始遍历excel表
    4. 先读取数据,然后写入事先创建好总表中
    5. 当读取完下一个待合并表的数据,然后准备写入到总表时,必须先获取到总表的行数,不然之前的数据将会被覆盖掉。
    6. 遍历结束,保存总表的数据
"""
"""
项目运行:
    1. 将所有需要合并的表放到一个文件夹中,名叫excels
    2. autoMerge.py文件和excels文件夹同级
    3. 运行该.py文件,会在把合并表放到destDir夹中
"""

# 1.总表初始化(不友好,还需要自行写好表头列表,对非程序员不友好)
def initExcel(path,excelTitle,excel_sheet_Name):
    """
    :param path: 合并总表的路径
    :param excelTitle: 总表的表头
    :param excel_sheet_Name: 合并总表的sheet名称
    :return: 返回总表是否初始化成功
    """
    try:
        # 创建一个工作簿
        book = xlwt.Workbook(encoding="utf-8")
        # 创建表单
        sheet = book.add_sheet(excel_sheet_Name)
        # 写入表头
        for i in range(0,len(excelTitle)):
            sheet.write(0, i, excelTitle[i])
        book.save(path)
        return True
    except Exception as e:
        return False

# 1.1 总表初始化(用来解决上面的问题)
def initExcel2(destExcel_path, sourceExcel_path,total_sheet_name):
    """

    :param destExcel_path: 合并总表excel的路径
    :param sourceExcel_path: 需要合并excel的路径
    :param total_sheet_name: 合并总表后sheet的名字
    :return: 返回False or True
    """
    try:
        # 创建一个工作簿
        book = xlwt.Workbook(encoding="utf-8")
        # 创建表单,并给表单起个名字
        sheet = book.add_sheet(total_sheet_name)
        # 获取待需合并excel的所有文件
        excel_name_list = get_All_Excelname(sourceExcel_path)
        # 一个待合并execl的路径
        excel_path = sourceExcel_path + "/" + excel_name_list[0]
        # 获取excel的sheet
        excel_sheet = get_excel_sheet(excel_path)
        # 获取excel的表头数据
        excel_title_list = excel_sheet.row_values(0)
        # 写入表头
        for i in range(0,len(excel_title_list)):
            sheet.write(0, i, excel_title_list[i])
        book.save(destExcel_path)
        return True
    except Exception as e:
        return False





# 2.获取需要合并的所有的excel文件名
def get_All_Excelname(path):
    """

    :param path: 待合并excel文件的路径
    :return:
    """
    excelName_list = os.listdir(path)
    # print(excelName_list)
    return excelName_list


# 返回excel表的sheet对象
def get_excel_sheet(path):
    # 打开指定路径的excle表
    book = xlrd.open_workbook(path)
    # 获取excle中的表单
    sheet = book.sheet_by_index(0)
    # 返回sheet对象
    return sheet

# 返回总表的wtbook,sheet对象
def get_total_excel_sheet(path):
    """

    :param path: 存放总表的path
    :return:
    """
    book = xlrd.open_workbook(path, formatting_info=True)
    wtbook = xlutils.copy.copy(book)
    wtsheet = wtbook.get_sheet(0)
    return wtbook,wtsheet


如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费**学习**大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。



### 一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。



![](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

### 二、学习软件



工欲善其必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。



![](https://img-blog.csdnimg.cn/img_convert/8c4513c1a906b72cbf93031e6781512b.png)



### 三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

![](https://img-blog.csdnimg.cn/img_convert/eec417a3d4d977b313558a11d3c13e43.png)



### 四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。



![](https://img-blog.csdnimg.cn/img_convert/ec690501ea1dbe2cb209cbf4013c2477.png)  

![](https://img-blog.csdnimg.cn/img_convert/3eaeaa6747419c9d86c72e0d10d0a6a2.png)



### 四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。



![](https://img-blog.csdnimg.cn/img_convert/252731a671c1fb70aad5355a2c5eeff0.png)



### 五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

![](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png)

成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!
最后祝你好运!!!




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里无偿获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值