ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【办公类-110-03】20260822 “闵豆家园”开学信息处理(幼儿:归档、升班、转园、批量添加托班、小班幼儿账号Python,拆分班级幼儿转班改学号;教师:转院区)

【办公类-110-03】20260822 “闵豆家园”开学信息处理(幼儿:归档、升班、转园、批量添加托班、小班幼儿账号Python,拆分班级幼儿转班改学号;教师:转院区) 一、背景需求马上开学我们使用的幼儿打卡系统闵豆家园发布信息更新通知——把数据发给他们进行大班归档、小中班升班、托小班建班、托小班幼儿信息导入的批量操作。根据以往经验1.托小班新生幼儿信息导入提供的是批量导入托小幼儿信息的服务但是要使用他们提供的一套幼儿数据Excel导入模版里面有一定的输入格式限制制作这个模版就要费时间。2.教师转园需要自行修改不提供教师转园区的操作还是要我自己根据人事名单来转。安全隐私3.拆班幼儿数据无法分流另外拆班的托1、托2、中6班的孩子就默认删除了不可能精细化地帮我们把已有的名字分到各个小班、大班4.等待时间长而且由于他们服务的单位很多要排队等操作。不可能马上给我们学校操作。综上所述这几年我都是自行更新主要用uibot或Python进行归档、升班、托小班信息导入。教师转院等设置。二、操作流程由于少子化幼儿人数锐减班级数量锐减教师人数也减少教师退休保育员辞职因此这次我是“手动70%”“Python30%”的比例进行“闵豆家园”班级和人员更新一班级栏目更新手机版闵豆家园这里手动班级少23个班级变19个班级再花时间写代码不划算还不如就手改手机闵豆家园的班级栏目设置的操作手册主要任务大班归档、中小托升班改班级名字、新建小班托班栏目 管理员账户登录手机 1、大班归档 切换园区-总园 班级管理-右上角三个点-班级信息-拉倒最下面大班-长按大1班-归档-确认-提交-归档后不可更改 确认归档吗确认-归档成功 班级管理-右上角三个点-班级信息-拉倒最下面大班-长按大2班-归档-确认-提交-归档后不可更改 确认归档吗确认-归档成功 六个大班全部方法归档 效果班级管理只剩下中班 2、中班升班大班 班级管理-右上角三个点-右上角全选-底部 批量升班-升班成功 效果页面上还是显示中班但实际年级已经变更为大班 更改班级名称 班级管理-右上角三个点-班级信息-中一班下面小字已经是大一班长按 中1班-右上角编辑-修改-中改成大-确定-确定-班级信息修改成功-千万不要点底部的归档左上角箭头返回 班级管理-右上角三个点-班级信息-中二班下面小字已经是大二班长按 中1班-右上角编辑-修改-中改成大-确定-确定-班级信息修改成功-千万不要点底部的归档左上角箭头返回 六个中班全部方法改成大班 3、一分园小班 升班为中班 回到主页面-切换园区-一分园 班级管理里面有托班和小班 1.班级管理-右上角三个点-升班-全选-确认升级四个班级-升班成功 2.班级管理-三个点-班级信息-长按托1班-右上角编辑-修改-托 改成 小由于托班都是拆班的里面部分孩子会转入新的班级所以文件名改成小1班拆班不要和新建的小一班重名-确定-班级信息修改成功-千万不要点底部的归档左上角箭头返回 班级管理-三个点-班级信息-长按托2班-右上角编辑-修改-托 改成 小由于托班都是拆班的里面部分孩子会转入新的班级所以文件名改成小2班拆班不要和新建的小一班重名-确定-班级信息修改成功-千万不要点底部的归档左上角箭头返回 .班级管理-三个点-班级信息-长按小1班-右上角编辑-修改-小 改成 中-确定-班级信息修改成功-千万不要点底部的归档左上角箭头返回 .班级管理-三个点-班级信息-长按小2班-右上角编辑-修改-小 改成 中-确定-班级信息修改成功-千万不要点底部的归档左上角箭头返回 3.把中1中2转入总园 班级管理-右上角三个点-班级转院-选中中1班-选总园按钮-设置班级名称-班级和25为幼儿转院成功-此时中1班没有了只有中2班 班级管理-右上角三个点-班级转院-选中中2班-选总园按钮-设置班级名称换成中班二班-班级和25为幼儿转院成功-此时中班没有了 4、二分园小班升为中班转入总园 返回主页面-切换园区-二分园 班级管理-三个点-升班-全选-确认升级四个班级-升班成功 .班级管理-三个点-班级信息-长按小3班-右上角编辑-修改-小 改成 中-确定-班级信息修改成功-千万不要点底部的归档左上角箭头返回 同样方法修改另外三个小班变成中班 中3-中6转入总园 班级管理-右上角三个点-班级转院-选中中3班-选总园按钮-设置班级名称改成中班三班-班级和25为幼儿转院成功-此时中3班没有了只有另外3个中班 同样方法转另外三个中班 5、一分园新的小班4、5二分园新小班123所以我把小1-5都放在二分园为了把原来托1托2班孩子转入新的小班 二分园主页面-班级管理-右上角三个点创建班级选择班级-选择老师因为老师还没有转院区所以暂时不绑定-完成-创建班级成功 同样方式做五个班级的班级管理。 6、切入一分园新建托班 一分园新托1托2二分园新托3统一放在一分园里制作。 返回二分园主页面切换园区-一分园 班级管理-右上角三个点-创建班级-托班-托1班 同理制作托1 托2 托3 框架搭建完成。 由于托班是新的名单也是新的可以先把托班导入 班级名称都更新正确。一共19个班级总部都是中大班一分园暂时是3个托班、二分园暂时5个全部小班“空班无人”2个“小班拆分”。二托小幼儿建档网页闵豆家园Python读取“班级信息表”内托班、小班信息。写入改的又快又好但是名单是托1班网页上要求托一班1.获取网页各个项目的坐标import pyautogui import time import pygetwindow as gw # 1. 找到VSCode窗口匹配标题含 Visual Studio Code vscode_wins gw.getWindowsWithTitle(Visual Studio Code) if not vscode_wins: print(未找到VSCode窗口请先打开VSCode再运行) else: win vscode_wins[0] # 自动最小化VSCode win.minimize() print(VSCode已自动最小化你有5秒时间移动鼠标到目标位置) time.sleep(5) # 等待5秒给你放鼠标 # 获取当前鼠标坐标并打印 x, y pyautogui.position() # print(f\n已捕获鼠标坐标X {x} , Y {y}) print(f\n已捕获鼠标坐标{x},{y}) # 934,354 # 自动最大化VSCode win.maximize() print(VSCode已自动最大化程序结束)2.新建托班幼儿名单的程序1打开校园管理-班级管理页面自动输入班级名称“托一班”筛选2就只有一条“托一班”选择“学生管理”3一个学生也没有所以添加学生4依次添加姓名、选择性别等于男点左边的坐标等于女点右边的坐标、添加学号5确定后返回主页-班级管理就这样循环输入“班级-筛选-学生管理-添加学生-姓名-性别-学号-确定-班级管理” 孩子通-3个托班新幼儿上传 孩子通新版地址https://passport.haizitong.com/home/login?appid118return_urlhttps%3A%2F%2Fyun.haizitong.com%2Fhome%2Fsso 管理员账号0211XXXXX 22XXXX 谷歌浏览器必须100% 页面放在家园互动-校园管理-班级管理- 为防止孩子通变慢一个班级一个班级上传。完成后关闭园园通再次开启 豆包阿夏 20260821 import openpyxl import pyautogui import time import pyperclip import pygetwindow as gw # 1. 找到VSCode窗口匹配标题含 Visual Studio Code vscode_wins gw.getWindowsWithTitle(Visual Studio Code) if not vscode_wins: print(未找到VSCode窗口请先打开VSCode再运行) else: win vscode_wins[0] # 自动最小化VSCode win.minimize() print(VSCode已自动最小化你有5秒时间移动鼠标到目标位置) time.sleep(5) # 等待5秒给你放鼠标 import random # 随机休眠1~3秒带小数模拟真人操作 def rand_sleep(): t random.uniform(2, 3) time.sleep(t) from openpyxl import load_workbook def num_to_chinese(s): 把字符串里阿拉伯数字转为中文 1→一2→二 ...9→九 digit_map {1:一,2:二,3:三,4:四,5:五, 6:六,7:七,8:八,9:九} for k,v in digit_map.items(): s s.replace(k, v) return s file_path rD:\Python最终内容\20260902孩子通新生信息上传\20260805班级信息表.xlsx wb load_workbook(file_path) for sheet_name in wb.sheetnames: if sheet_name.startswith(托): print(f正在读取工作表{sheet_name}) ws wb[sheet_name] for row in ws.iter_rows(min_row2, values_onlyTrue): student_id row[0] # A列学号 park row[1] # B列园区 class_name row[2] # C列班级 name row[3] # D列姓名 gender row[4] # E列性别 if not name: continue # 转换班级名称托1班 → 托一班 new_class_name num_to_chinese(class_name) print(student_id, park, new_class_name, name, gender) # 点击班级 pyautogui.click(995,333) # 1. 复制指定文字到剪贴板 # print(写入姓名:,name) pyperclip.copy(new_class_name) # 2. 模拟CtrlV粘贴 pyautogui.hotkey(ctrl, v) rand_sleep() # 延迟2秒切换窗口 # “筛选”按钮 pyautogui.click(1408,327) rand_sleep() # 延迟2秒切换窗口 # 点击“学生管理” pyautogui.click(1804,512) time.sleep(3) # 切换页面时间长一点 # ”添加学生“按钮 pyautogui.click(1556,385) rand_sleep() # 延迟2秒切换窗口 # 学生姓名 pyautogui.click(879,297) # 1. 复制指定文字到剪贴板 # print(写入姓名:,name) pyperclip.copy(name) # 2. 模拟CtrlV粘贴 pyautogui.hotkey(ctrl, v) rand_sleep() # 延迟2秒切换窗口 # 性别 if gender男: pyautogui.click(864,365) rand_sleep() else: pyautogui.click(923,365) rand_sleep() # 学号 pyautogui.click(866,480) # 1. 复制指定文字到剪贴板 # print(写入姓名:,name) pyperclip.copy(student_id) # 2. 模拟CtrlV粘贴 pyautogui.hotkey(ctrl, v) rand_sleep() # 延迟2秒切换窗口 # 确认回到最初的界面 pyautogui.click(1255,967) time.sleep(3) # 保存时间长一点 # 左侧班级管理 pyautogui.click(143,846) rand_sleep() # 保存时间长一点 # 自动最大化VSCode win.maximize() print(VSCode已自动最大化程序结束)大约59个孩子用了25分钟因为我怕来来不及按或者网页卡顿每次点击的间隔秒数都是2-3秒最后也的确没有出现问题。顺利把幼儿信息都建档了。三小班幼儿建档网页闵豆家园转入二分园把5个小班按同样方法建档代码里把“托”改成“小” 孩子通-5个小班新幼儿上传 孩子通新版地址https://passport.haizitong.com/home/login?appid118return_urlhttps%3A%2F%2Fyun.haizitong.com%2Fhome%2Fsso 管理员账号0211XXXXX 22XXXX 谷歌浏览器必须100% 页面放在家园互动-校园管理-班级管理- 为防止孩子通变慢一个班级一个班级上传。完成后关闭园园通再次开启 豆包阿夏 20260821 import openpyxl import pyautogui import time import pyperclip import pygetwindow as gw # 1. 找到VSCode窗口匹配标题含 Visual Studio Code vscode_wins gw.getWindowsWithTitle(Visual Studio Code) if not vscode_wins: print(未找到VSCode窗口请先打开VSCode再运行) else: win vscode_wins[0] # 自动最小化VSCode win.minimize() print(VSCode已自动最小化你有5秒时间移动鼠标到目标位置) time.sleep(5) # 等待5秒给你放鼠标 import random # 随机休眠1~3秒带小数模拟真人操作 def rand_sleep(): t random.uniform(2, 3) time.sleep(t) from openpyxl import load_workbook def num_to_chinese(s): 把字符串里阿拉伯数字转为中文 1→一2→二 ...9→九 digit_map {1:一,2:二,3:三,4:四,5:五, 6:六,7:七,8:八,9:九} for k,v in digit_map.items(): s s.replace(k, v) return s file_path rD:\Python最终内容\20260902孩子通新生信息上传\20260805班级信息表.xlsx wb load_workbook(file_path) for sheet_name in wb.sheetnames: if sheet_name.startswith(小): print(f正在读取工作表{sheet_name}) ws wb[sheet_name] for row in ws.iter_rows(min_row2, values_onlyTrue): student_id row[0] # A列学号 park row[1] # B列园区 class_name row[2] # C列班级 name row[3] # D列姓名 gender row[4] # E列性别 if not name: continue # 转换班级名称托1班 → 托一班 new_class_name num_to_chinese(class_name) print(student_id, park, new_class_name, name, gender) # 点击班级 pyautogui.click(995,333) # 1. 复制指定文字到剪贴板 # print(写入姓名:,name) pyperclip.copy(new_class_name) # 2. 模拟CtrlV粘贴 pyautogui.hotkey(ctrl, v) rand_sleep() # 延迟2秒切换窗口 # “筛选”按钮 pyautogui.click(1408,327) rand_sleep() # 延迟2秒切换窗口 # 点击“学生管理” pyautogui.click(1804,512) time.sleep(3) # 切换页面时间长一点 # ”添加学生“按钮 pyautogui.click(1556,385) rand_sleep() # 延迟2秒切换窗口 # 学生姓名 pyautogui.click(879,297) # 1. 复制指定文字到剪贴板 # print(写入姓名:,name) pyperclip.copy(name) # 2. 模拟CtrlV粘贴 pyautogui.hotkey(ctrl, v) rand_sleep() # 延迟2秒切换窗口 # 性别 if gender男: pyautogui.click(864,365) rand_sleep() else: pyautogui.click(923,365) rand_sleep() # 学号 pyautogui.click(866,480) # 1. 复制指定文字到剪贴板 # print(写入姓名:,name) pyperclip.copy(student_id) # 2. 模拟CtrlV粘贴 pyautogui.hotkey(ctrl, v) rand_sleep() # 延迟2秒切换窗口 # 确认回到最初的界面 pyautogui.click(1255,967) time.sleep(3) # 保存时间长一点 # 左侧班级管理 pyautogui.click(143,846) rand_sleep() # 保存时间长一点 # 自动最大化VSCode win.maximize() print(VSCode已自动最大化程序结束)大约125位小班孩子 用时53分钟速度和质量都很稳定这个网页也没有出现卡顿延迟的问题。四教师转院手机操作以前是用过手动把所有教师从分园转回总园再从总园转到分园还用uibot把教师们的昵称改成全名再写代码测算位置。进行分班。如今孩子少了班级少了老师也少了陆续退休不招新人所以我还是手动操作对着名单用手机把教师一一转到总园再分配到分园。岗位配正确后再给教师和保育员添加班级。 手机版 1.把二分园的教师班主任转到总园默认教师。保育员转入总园选择保育员两位营养员也转入总园选择后勤老师。只有副院长和保健老师保留 2把一分园托班教师4人保育员2人保留小班教师4默认教师保育2选择保育员转入总园1位营养员默认后勤老师转入总园 3.现在所有的老师都在总院了先根据一分园名单点击教师名字把教师转入一分园默认教师、保育员转入一分园选择保育员后勤老师转入一分园选择后勤老师。然后同样方式把二分园的老师、保育员、后倾老师都做了。 4.为总园每个老师、保育员分配班级打开教师名字右上角点开详细信息最下面就是所在班级。 4.为一分园每个老师、保育员分配班级打开教师名字右上角点开详细信息最下面就是所在班级。 4.为二分园每个老师、保育员分配班级打开教师名字右上角点开详细信息最下面就是所在班级。分配班级 5.总园部分老师保育员转入机动岗位需要把这个人先转到一分园默认老师即可再打开一分园界面选中教师名字再转回总园选择“行政岗位”。 6.删除已经退休、调离的名单 7.确保每个园区的岗位人数与名单人数一致如总园园长1人、教师人数22保育员11人保健2后勤营养员2管理人员行政5教辅3机动人员5 五分流班孩子的处理原2025年9月中6班的全部孩子会分散转入到2026年9月的5个大班中。有名单原来2025年9月托1托2班的部分孩子会分散转入到2026年9月的5个小班中。因为托班不是直接升入小班而是重新按照小班新生入园的方式幼儿全部打乱没有分流名单但是我觉得如果直接删除有点可惜还是想尽量把已注册的幼儿从托班转入到新的小班里。操作方法检索孩子的姓名匹配“新的班级信息表”观看转入新的班级的名称调整新的学号1拆分班级幼儿学号修改转入对应班级孩子通网页版-班级管理打开“小一班拆班”复制第一个名字到收集的“班级信息表”里工作簿检索这个名字。如果存在就会在小1-小5的工作表内。了解这个孩子新的班级是小4班他的新学号是多少1号在网页里这个孩子的名字下方“修改学生”-修改新班级里的学号学号改成1号-确定然后选择“转班”同样方式把整个拆分班级的孩子都全部转完后会遗留部分孩子在“班级信息表”里没有匹配。说明该幼儿并不在本园上小班而是去了其他幼儿园。这个孩子账号直接删除。拆分班级里面人数为0才能删除班级否则就没有这个按钮这一点“孩子通(闵豆家园”做的很严谨同样方式制作托一班拆分、托二班拆分、再根据分流名单把中6班已经改成大六班分到各个大班2转入班级要检查去掉重复已存在托班账号幼儿升入小班转入新的小班班级后要进行检查。去掉重复的空档案。因为前面Python按照Excel自动重复录入了名单所以现在一个孩子会有两个同样的学号。观察两个相同名字的档案保留有“手机号”的一行数据这是去年托班时家长使用的卡片今年继续到小班用。因此要把没有数据空行的一个表格删除同理拆分“小二班拆分到其他小班”“大6班拆分到其他大班”。中6班大六班转入其他大班后虽然不太会出现姓名重复但是这些孩子通常插入到“已经转走”的孩子的学号里所以会出现两个孩子都是30号的情况。此时管理员可以把另一个30学号转走幼儿的删除也可以通知班主任手动删除更保险以免删错。
返回列表