打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
还在为汇总Excel而犯愁吗?快来学习 Python办公自动化吧
userphoto

2023.10.10 广东

关注

假如公司需要统计每个员工的个人信息,制定好模板后,由员工填写,然后发送到综合部进行汇总,在这种情况下,如果公司有上百位员工的信息需要统计,且采用纯手工进行复制粘贴的方式进行汇总,则将是一项耗时费力易错的工作。如何做才能轻松完成这项工作,为自己留出喝咖啡的时间呢?答案就是Python办公自动化,本文主要以一个简单的小例子,简述如何通过Pyhton进行自动化文件合并。

涉及知识点

  • xlrd模块:文件的读取

  • xlwt模块:文件的生成

设计思路

  1. 获取指定目录下所有excel格式的文件。

  2. 循环读取Excel文件内容【读取固定的行与列】,将内容暂存内存中。

  3. 将内存中数据,写入到新的Excel文件中,并保存到指定位置。

效果示例

本例为了简化操作,总共有10个需要汇总的文件,如下所示:

每一个文件采用相同模板,格式一致,如下所示:

 汇总后的文件,如下所示:

核心代码

引入相关的模块,如下所示:

import xlrdimport xlwtimport os

读取excel内容,如下所示:

def read_excel(excel_folder: str):    """    读取Excel文档    :param excel_folder:    :return:    """    excel_files = []  # excel文件列表    excel_contents = []  # excel文件内容    files = os.listdir(path=excel_folder)    if len(files) > 0:        for file in files:            if file.endswith('.xls'):                excel_files.append(file)    if len(excel_files) == 0:        print('此目录下没有对应的Excel文件')    # 循环读取文档    for file in excel_files:        full_path = os.path.join(excel_folder, file)        book = xlrd.open_workbook(filename=full_path)        sheet = book.sheet_by_index(sheetx=0)        # 取固定位置的值        content = {            '名称': sheet.cell_value(1, 0),            '年纪': sheet.cell_value(1, 1),            '性别': sheet.cell_value(1, 2),            '籍贯': sheet.cell_value(1, 3)        }        excel_contents.append(content)
return excel_contents

生成Excel内容,如下所示:

def write_excel(excel_path: str, excel_contents: list):    """    生成Excel文档    :param excel_path:    :return:    """    if len(excel_contents) == 0:        print('没有需要保存的内容')        return    book = xlwt.Workbook(encoding='utf-8')    sheet1 = book.add_sheet('统计信息')    # 先写标题    sheet1.write(0, 0, '名称')    sheet1.write(0, 1, '年纪')    sheet1.write(0, 2, '性别')    sheet1.write(0, 3, '籍贯')    i = 1    for content in excel_contents:        sheet1.write(i, 0, content['名称'])        sheet1.write(i, 1, content['年纪'])        sheet1.write(i, 2, content['性别'])        sheet1.write(i, 3, content['籍贯'])        i += 1    book.save(excel_path)

整体调用

excel_folder = r'D:\MyProject\Demo01\TESTEXCEL'excel_path = r'D:\MyProject\Demo01\TESTEXCEL\汇总信息.xls'excel_contents = read_excel(excel_folder)# print(excel_contents)write_excel(excel_path, excel_contents)print('done')

备注

相思

【作者】王维 【朝代】唐

红豆生南国,春来发几枝。

愿君多采撷,此物最相思。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
办公自动化:python win32com轻松完成批量Excel文件的加密!
手把手教你4种方法用Python批量实现多Excel多Sheet合并
Python办公自动化|批量提取Excel数据
Python办公自动化|从Excel到Word
Python办公自动化之Excel介绍
使用pandas将多个具有多个Sheet的excel文件合并成一个excel文件
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服