• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python实现自动化之文件合并

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

    涉及知识点

    设计思路

    1、获取指定目录下所有excel格式的文件。
    2、循环读取Excel文件内容【读取固定的行与列】,将内容暂存内存中。
    3、将内存中数据,写入到新的Excel文件中,并保存到指定位置。

    效果示例

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

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

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

    核心代码

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

    import xlrd
    import xlwt
    import 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')

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • 一篇文章告诉你如何用Python控制Excel实现自动化办公
    • python开发的自动化运维工具ansible详解
    • 基于python实现微信收红包自动化测试脚本(测试用例)
    • python自动化八大定位元素讲解
    • 一篇文章告诉你如何用python进行自动化测试,调用c程序
    上一篇:Matlab读取excel并利用拉依达准则筛选数据的全过程
    下一篇:matlab和Excel的数据交互操作(非xlsread和xlswrite)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python实现自动化之文件合并 python,实现,自动化,之,文件,