首页 > 其他分享 >【办公类】幼儿健康数据模版批量更改日期(保健老师填写)

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

时间:2024-09-14 20:49:44浏览次数:17  
标签:name 模版 dst new file 幼儿 path 填写 folder

背景需求

今天下发通知

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

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

标签:name,模版,dst,new,file,幼儿,path,填写,folder
From: https://blog.csdn.net/reasonsummer/article/details/142181888

相关文章

  • 【关于c++模版类的报错问题】
    关于c++模版类的报错问题模版类的定义使用类模板模版类的定义通常在实现一个类时,会在.h头文件中声明函数,在.cpp文件中实现该函数。然而如果是模版类的话情况则会稍有不同。这是一个名为debug.h的头文件,里面包含了一个名为A的模版类类A的实现在debug.hpp中,模板类的......
  • 自助式响应式建站系统源码 海量网站模版随心选择 带完整的安装代码包以及搭建部署教程
    系统概述自助式响应式建站系统,顾名思义,是一种允许用户无需深入了解编程技术,即可通过简单的拖拽、选择等操作,快速创建并管理网站的在线工具。它结合了响应式设计理念,确保网站能够在不同设备(如电脑、平板、手机)上自动调整布局,提供最佳浏览体验。此类系统通常提供丰富的网站模版......
  • pbootcms后台的百度普通收录token怎么填写?怎么获得?
    要在PbootCMS后台填写百度普通收录token,你需要先获得这个token,然后按照以下步骤填写到后台:如何获得百度普通收录token访问百度搜索资源平台打开百度搜索资源平台的网址:https://ziyuan.baidu.com/如果你还没有账号,请先注册一个百度账号。添加站点登录后,进入用户中心......
  • DBA-MySQL巡检报告 模版
    DBA-MySQL巡检报告模版 -20240912——————————————————————————————————————————————————————————----2024年9月12日17:02:13----bayaim----以下内容纯属个人原创,纯属个人多年经验总结,非喜勿喷,----本巡检报告......
  • 单实例-oracle巡检模版 -20240912
    单实例-oracle巡检模版 -20240912——————————————————————————————————————————----2024年9月12日16:38:47----bayaim----以下内容纯属个人原创,纯属个人多年经验总结,非喜勿喷,Gun~—————————————————————......
  • PbootCMS标签大全,PbootCMS模版如何调用tag标签
    PBootCMS提供了丰富的模板标签来方便地调用各种功能。下面详细介绍PBootCMS的常用标签及其用法,并给出具体的示例。PBootCMS标签大全1.基础标签{pboot:site}用途:获取站点信息。示例:html {pboot:sitename="title"}网站标题{/pboot:site}{pboot:page}用途......
  • 【F179】基于Springboot+vue实现的幼儿园管理系统
    作者主页:Java码库主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。收藏点赞不迷路 关注作者有好处文末获取源码项目描述系统管理也都将通过计算机进行整体智能化操作,对于幼儿园管理系统所牵扯的管理......
  • 基于ssm的家庭幼儿离校教育系统的设计与实现-附源码13819
    目 录1绪论1.1研究背景与意义1.2国内外现状1.3论文结构与章节安排2 家庭幼儿离校教育系统分析2.1可行性分析2.1.1技术可行性分析2.1.2 经济可行性分析2.1.3法律可行性分析2.2系统功能分析2.2.1功能性分析2.2.2非功能性分析2.3 系统用例......
  • Vue入门学习笔记-从入门到模版语法
    前言建议:建议学习HTML5+CSS3+JavaScript之后在学VueHTML和JavaScript需要着重学习,如果还学了jQuery更好Vue本身是基于JavaScript开发的框架,完全兼容JavaScript语法本学习笔记着重记录Vue语法和使用的相关特性,目的是为了后端开发人员快速上手Vue开发。 Vue和jQuery的区......
  • vue打印模版模块,使用vue-plugin-hiprint插件搭建过程
    文章目录概要安装插件引入全局样式引入字体图标库完整demo解析-保存模版解析-左侧的自定义组件解析-视图容器解析-打印文件地址概要项目中,我们可能需要实现打印的需求功能,而打印时,用户可以先去编辑打印模版,这样再其他模版,只需要提供数据,就可以使用模......