python实现自动化之文件合并
作者:Alan.hsiang 发布时间:2023-12-27 07:11:37
标签:python,文件合并
假如公司需要统计每个员工的个人信息,制定好模板后,由员工填写,然后发送到综合部进行汇总,在这种情况下,如果公司有上百位员工的信息需要统计,且采用纯手工进行复制粘贴的方式进行汇总,则将是一项耗时费力易错的工作。本文主要以一个简单的小例子,简述如何通过Pyhton进行自动化文件合并。
涉及知识点
xlrd模块:文件的读取
xlwt模块:文件的生成
设计思路
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')
来源:https://blog.csdn.net/fengershishe/article/details/119581034
0
投稿
猜你喜欢
- Python 能做很多无聊,但有意思的事情,例如接下来的一些案例。以下程序,不要发代码,要不实现不了你整蛊的目的。要打包成一个 exe 程序
- 目录1,刚开始(可能会很low)2.单行消失3.优化后的单行消失总结1,刚开始(可能会很low)import timescale=10pri
- jsonp方式一:指定返回方法# 后端def view(request): callback = request.GET.get
- 目录快速开始通过 pip 安装运行注入代码运行前几天在一个开源项目里遇到好多用户反馈,不会安装依赖,或者执行 pip install -r
- 实现效果效果如图,只识别一定距离内的物体哈哈哈哈哈哈哈哈哈,但我不知道这有什么用实现代码import pyrealsense2 as rsi
- 如下:data = pd.read_csv('20180201.txt',sep = '|',dtype =
- 前言:大家一般都知道subplot可以画子图,但是subplots也可以画子图,鉴于subplots介绍比较少,这里做一个对比,两者没有功能
- centos下安装配置phpmyadmin,我花了二个晚上,郁闷的我不行,配置phpmyadmin简单吧,很简单,我刚工作的时候,就配置过,
- 1.创建多线程类全局变量 secclass work_thread(QThread): timer = pyqtSignal() # 每隔一
- 随着互联网的快速发展和数据交换的广泛应用,各种数据格式的处理成为软件开发中的关键问题。JSON 作为一种通用的数据交换格式,在各种应用场景中
- 今天,我们使用面部标记和 OpenCV 检测视频流中的眨眼次数。为了构建我们的眨眼检测器,我们将计算一个称为眼睛纵横比 (EAR) 的指标,
- 装饰器的应用场景附加功能数据的清理或添加:函数参数类型验证 @require_ints 类似请求前拦截数据格式转换 将函数返回字典改为 JS
- icon可以用多个软件制作,也可以通过一些网站把普通图片转换为.ico文件,但通常存在的问题是图片本该透明的地方经转换后变为了黑色或者白色,
- 对于个人用户来说,除了病毒和木马,网页中的隐形代码也开始严重地威胁着我们的安全,但大多数人却缺乏自我保护意识,对隐形代码的危害认识不够,甚至
- 在讲这个问题之前让我们来先看一段代码: dim sql_injdata,SQL_inj,SQL_Get,SQL_Data,Sql_
- 背景:不久前,设计实现了京东api的功能,发现如果换了其它快递再重新设计,岂不是会浪费太多的时间,所以选个第三方提供的快递API是最为合理的
- 本文实例讲述了Python爬取国外天气预报网站的方法。分享给大家供大家参考。具体如下:crawl_weather.py如下:#encodin
- QL Server事件探查器(Profiler)可以帮助数据库管理员跟踪SQL Server数据库所执行的特定事件,监视数据库的行为;并将这
- 前言:open()函数的定义:def open(file, mode='r', buffering=None, encodi
- 本文大纲os模块是Python标准库中一个重要的模块,里面提供了对目录和文件的一般常用操作。而Python另外一个标准库——shutil库,