【办公类】幼儿健康数据模版批量更改日期(保健老师填写)

news2024/11/24 20:53:39

背景需求

今天下发通知

三个园区的保健老师需要填写

1.2023学年(202406)的六一体检数据

2.2024学年(202409)的新生入园体检数据

我先把上一轮填写过的数据模版下载下来(套用模版)

把EXCEL下载到原始文件夹里

模版下载完成,

我想到去年2023年9月用这些前年2022年9月的模版发给保健老师后,保健老师们更改2023年最新数据发回给我,但他们忘记修改文件名上的年份数字2022和标题里的年份数字2022,最后反复传了几次(更改数据和年份为2023)才正确。

所以本次我用程序,直接把文件名上的年份数字+1,把每个工作表的第一行的标题里面的年份数字+1。

代码展示:

'''
9月园园通幼儿健康数据上报 EXCEL模版的年份变更(作为模版发给保健老师更新数据)
星火讯飞,阿夏
2024年9月12日
'''


import os
import re
import openpyxl
import shutil

def replace_text_in_excel(file_path, old_text, new_text):
    wb = openpyxl.load_workbook(file_path)
    for sheet in wb:
        for row in sheet.iter_rows():
            for cell in row:
                if isinstance(cell.value, str) and old_text in cell.value:
                    cell.value = cell.value.replace(old_text, new_text)
    wb.save(file_path)

def process_files(src_folder, dst_folder):
    if not os.path.exists(dst_folder):
        os.makedirs(dst_folder)

    for file_name in os.listdir(src_folder):
        if file_name.endswith('.xlsx') or file_name.endswith('.xls'):
            src_file_path = os.path.join(src_folder, file_name)
            dst_file_path = os.path.join(dst_folder, file_name)

            # 创建一个新的副本
            new_file_path = os.path.join(dst_folder, 'temp_' + file_name)
            shutil.copy2(src_file_path, new_file_path)

            if '2023' in file_name:
                new_file_name = file_name.replace('2023', '2024')
                dst_file_path = os.path.join(dst_folder, new_file_name)
                replace_text_in_excel(new_file_path, '2023', '2024')
            elif '2022' in file_name:
                new_file_name = file_name.replace('2022', '2023')
                dst_file_path = os.path.join(dst_folder, new_file_name)
                replace_text_in_excel(new_file_path, '2022', '2023')

            # 删除临时副本
            os.remove(new_file_path)

# 调用函数,传入源文件夹和目标文件夹路径
path=r'C:\Users\jg2yXRZ\OneDrive\桌面\健康数据上报'
src_folder = path+r'\01原始'
dst_folder =path+r'\02新的'
os.makedirs(dst_folder,exist_ok=True)
process_files(src_folder, dst_folder)

结果显示:

文件名的年份与文件第一行标题的年份都改过了(在去年的数字基础上+1)

发送给保健老师填写

用Python快速修改模版的文件名和内部日期,可以提高数据表单的精准性,减少人工改日期的繁琐和遗漏可能。提高办公效率

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2129189.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

驾驭不断发展的人工智能世界

从很多方面来看,历史似乎正在重演。许多企业正争相采用生成式人工智能 (Gen AI),就像它们争相采用云计算一样,原因也是一样的:效率、成本节约和竞争优势。 然而,与云一样,GenAI 仍是一项发展中的技术&…

机器学习(西瓜书)第 9 章 聚类

9.1 聚类任务和距离计算 在”无监督学习“中,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础.此类学习任务中研究最多、应用最广的是“聚类”(clustering). 聚类试图…

咖啡果实病虫害检测系统源码分享

咖啡果实病虫害检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Comput…

【最新综述】基于深度学习的超声自动无损检测(上)

Deep learning in automated ultrasonic NDE – Developments, axioms and opportunities 传统上,超声无损检测数据分析一直由训练有素的操作员在基本自动化工具的支持下手动解释数据。最近,开始出现许多针对个别无损检测任务(数据预处理、缺…

即插即用篇 | YOLOv10 引入矩形自校准模块RCM | ECCV 2024

本改进已同步到YOLO-Magic框架! 语义分割是许多应用的重要任务,但要在有限的计算成本下实现先进性能仍然非常具有挑战性。在本文中,我们提出了CGRSeg,一个基于上下文引导的空间特征重建的高效且具有竞争力的分割框架。我们精心设计了一个矩形自校准模块,用于空间特征重建和…

HarmonyOS开发实战( Beta5.0)橡皮擦案例实践详解

鸿蒙HarmonyOS开发往期必看: HarmonyOS NEXT应用开发性能实践总结 最新版!“非常详细的” 鸿蒙HarmonyOS Next应用开发学习路线!(从零基础入门到精通) 介绍 本示例通过ohos.graphics.drawing库和blendMode颜色混合实…

Obsidian git sync error / Obsidian git 同步失敗

Issue: commit due to empty commit message Solution 添加commit資訊,確保不留空白 我的設置:auto-backup: {{hostname}}/{{date}}/

ESXI8.0 vsphere vcenter 多网卡多网段配置

一般来说服务器至少两块网卡,安装esxi后一种方案是利用闲置网卡建立多上传链路,聚合,另一种是配置多网段进行虚拟机隔离,网上也没找到讲的很清楚的,经过多种尝试终于学会,记录分享一下 首先物理交换机的随…

谷歌开发者账号被封会影响AdMob吗?收款卡更换修改有什么限制?

众所周知,AdMob作为谷歌旗下的广告平台,是众多开发者的主要变现渠道之一。那在开发者账号被封的情况下,AdMob账号是否会也受到波及? 虽说通常谷歌开发者账号被封并不直接等同于AdMob账号被封,但还是会互相影响的。即使…

C 和 C++ struct 的区别?

目录 1. 默认访问权限 2. 面向对象特性 3. 继承和多态 4. 访问控制 5. 使用习惯 6. 默认继承权限 1. 默认访问权限 C 语言:在 C 中,struct 中的所有成员默认是 public(可直接访问)。C 语言:在 C 中,…

BFS广度优先搜索解决迷宫问题

前言 BFS广度优先搜索解决迷宫问题 迷宫问题 原题目:迷宫由n行m列的单元格组成(n,m都小于等于50),每个单元格要吗是空地要吗是障碍物。现在请你找到一条从起点到终点的最短路径长度。 分析 首先我们将起点入队, 然后队首节点可拓展的点入…

总线性能指标及标准

一、总线性能指标 1.总线周期 一次总线操作所需的时间(包括申请阶段、寻址阶段、传输阶段和结束阶段),通常 由若干个总线时钟周期构成。 2.总线时钟周期 即机器的时钟周期。计算机有一个统一的时钟,以控制整个计算机的各个部件…

Android 系统下:普通应用无缝安装,Launcher 应用安装遭遇罕见障碍解析

目录 一、场景 1.1 错误分析 1.2 解决方法尝试 1.2.1 检查应用的安装位置 1.2.2 使用ADB安装 1.2.3 检查APK的签名 1.2.4 检查可用的内部存储空间 1.2.5 将应用程序安装到设备的内部存储空间 1.2.6 重置设备(谨慎使用) 1.2.7 获取Root权限&…

【Qt】选择器

选择器概况 QSS选择器支持以下几种: 选择器示例说明 全局选择器 * 选择所有的 widget. 类型选择器 (type selector) QPushButton 选择所有的 QPushButton 和 其⼦类 的控件. 类选择器 (class selector) .QPushButton 选择所有的 QPushButton 的控件. 不会选…

C++——STL(list类)

1.list的介绍 1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。 2. list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素…

一文400字看懂,如何评估系统负载指标load average

在linux系统输入指令top后可以看到系统近1分钟、近5分钟、近15分钟的平均负载。 但是很多人工作10年也未必知道这个指标的含义,到底多少表示系统已经忙不过来? 如图,最近1分钟、5分钟,15分钟系统平均负载分别是0.10,0…

什么是充放电测试?怎么测试电源的充放电性能?

对于需要不间断电源供应的电子系统而言,某些电源模块通过搭载电池来应对突发停电或其他系统故障。针对这些模块的电池性能保障,充放电测试显得尤为重要,它是确保电源稳定性的关键测试方法。 充放电测试原理 充放电测试是指通过模拟电池在实际…

还不知道ACP认证?那你真落后了

随着云计算技术的蓬勃发展,已经成为推动企业数字化转型的关键力量。 在众多云服务提供商中,阿里云以其强大的技术实力和广泛的服务范围,在全球市场上占据了重要地位。对于IT专业人士而言,掌握云计算技能不仅是顺应技术潮流的需要&…

【笔记】1.4 特殊二极管

文章目录 一、稳压二极管1、稳压管的伏安特性和符号2、稳压管的主要参数(1)稳定电压 U Z U_Z UZ​(2)稳定电流 I Z I_Z IZ​(3)耗散功率 P M P_M PM​ 3、应用稳压管应注意的问题例:稳压二极管的…

一文读懂多组学联合分析产品在医学领域的应用

疾病的发生和发展通常涉及多个层面的生物学过程,包括基因表达、蛋白质功能、代谢物变化等。传统的单一组学研究只能提供某一层面的信息,而多组学关联分析能够综合多个层面的数据,提供更全面、更深入的疾病理解。例如,通过分析患者…