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

背景需求

今天下发通知

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

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

  • 12
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿夏reasonsummer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值