【办公类110-05】20260807园园通小班“待补充”户籍地址自动修改成为真实地址(Python+EXCEL)
一、背景需求通知要求8月7日前把园园通新小班建班、幼儿分班、信息完善待处理问题完成。为了取消标红我用了一个批量填写“假地址”的方法。确保标红的内容都被填全。【办公类110-04】20260806园园通小班分班后“待处理问题”批量信息、默认省市区、待添加地址https://mp.csdn.net/mp_blog/creation/editor/163531430其他数据重要性不大户籍地址是最重要的必须要填写正确目前“园园通”里面的外省户籍地址都是“待补充”二、数据收集因为幼儿纸质报名表上没有“外省户籍地址”只有外省省连外省市、外省区也没有。组长说她可以马上向家长收集“户籍地址”所以组长让小班组员去问家长要名单。我用接龙管家做了一套既然做了表单我又添加一个“独生子女统计”这个模版发给组长让组员们复制。小班组员们打电话来问“我不会把里面的姓名改成我们班孩子你能帮我改一下吗”之前正好收集了18个班级姓名表单里面有所有托班、小班的幼儿姓名、性别我希望在幼儿姓名前面添加“学号”就在“共享表单”里做一个学号和姓名的连接复制整列“学号姓名”打开接龙管家模版设置名单把包含班级名字的接龙表单发给班主任再抄送管理员权限三、表单下载组长速度最快打开表单里面有所有需要填写的项目虽然其他信息也要修改我都是默认选否、默认非农-城市但最重要的是先修改“户籍地址”从表格里看我需要读取A列“姓名”和E列“户籍地址” 园园通小班孩子分班后补全信息 1.外省户口孩子更新地址只更新地址把待更新改掉 3.Python模拟鼠标点击园园通按钮进行分班 4.前期已经3101搜索过了。 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) # file_path rC:\Users\mhjg2\Desktop\20260805园园通小班分班\20260805班级信息表.xlsx file_path rC:\Users\mhjg2\Desktop\20260805园园通小班分班\20260806小1班圆圆通信息补全(1).xlsx wb openpyxl.load_workbook(file_path) # 读取表格 for sheet_name in wb.sheetnames: ws wb[sheet_name] for row in ws.iter_rows(min_row2, values_onlyTrue): # 从第二行开始读取姓名 # for row in ws.iter_rows(min_row24, values_onlyTrue): # 如果出问题断了从第X行读取孩子姓名 if len(row) 4: continue name row[0] if not name or str(name).strip() : continue address row[4] # class_name row[1] # garden_name row[1] # data_list.append([class_name, name]) print(name) print(address) # 点击姓名栏 pyautogui.click(861,376) # 1. 复制指定文字到剪贴板 # print(写入姓名:,name) pyperclip.copy(name) # 2. 模拟CtrlV粘贴 pyautogui.hotkey(ctrl, v) rand_sleep() # 延迟2秒切换窗口 # 搜索 pyautogui.click(758,497) rand_sleep() # 编辑 pyautogui.click(1652,671) time.sleep(3) # 模拟滚动到底部 pyautogui.click(1652,671) for _ in range(2): pyautogui.scroll(-1000) rand_sleep() # time.sleep(0.3) # 每滚轮一下间隔0.3秒 # 户籍地址点击三次 for i in range(3): pyautogui.click(1404,473) rand_sleep() # 1. 复制指定文字到剪贴板 # print(写入姓名:,name) pyperclip.copy(address) # 2. 模拟CtrlV粘贴 pyautogui.hotkey(ctrl, v) rand_sleep() # 延迟2秒切换窗口 # 下移到底部 for _ in range(1): pyautogui.scroll(-1000) rand_sleep() # 确认回到最初的界面 pyautogui.click(1027,857) time.sleep(5) # 保存时间长一点 # 自动最大化VSCode win.maximize() print(VSCode已自动最大化程序结束)因为幼儿信息保密所以不能展示图片或视频。反正我使用代码读取小1班的姓名和对应地址顺利将“待补充”批量改成“正确地址”小3班老师也很快发来了接龙表单表单路径修改一下 园园通小班孩子分班后补全信息 1.外省户口孩子更新地址只更新地址把待更新改掉 3.Python模拟鼠标点击园园通按钮进行分班 4.前期已经3101搜索过了。 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) # file_path rC:\Users\mhjg2\Desktop\20260805园园通小班分班\20260805班级信息表.xlsx # file_path rC:\Users\mhjg2\Desktop\20260805园园通小班分班\20260806小1班圆圆通信息补全(1).xlsx file_path rC:\Users\mhjg2\Desktop\20260805园园通小班分班\20260806小3班圆圆通信息补全.xlsx wb openpyxl.load_workbook(file_path) # 读取表格 for sheet_name in wb.sheetnames: ws wb[sheet_name] for row in ws.iter_rows(min_row2, values_onlyTrue): # 从第二行开始读取姓名 # for row in ws.iter_rows(min_row24, values_onlyTrue): # 如果出问题断了从第X行读取孩子姓名 if len(row) 4: continue name row[0] if not name or str(name).strip() : continue address row[4] # class_name row[1] # garden_name row[1] # data_list.append([class_name, name]) print(name) print(address) # 点击姓名栏 pyautogui.click(861,376) # 1. 复制指定文字到剪贴板 # print(写入姓名:,name) pyperclip.copy(name) # 2. 模拟CtrlV粘贴 pyautogui.hotkey(ctrl, v) rand_sleep() # 延迟2秒切换窗口 # 搜索 pyautogui.click(758,497) rand_sleep() # 编辑 pyautogui.click(1652,671) time.sleep(3) # 模拟滚动到底部 pyautogui.click(1652,671) for _ in range(2): pyautogui.scroll(-1000) rand_sleep() # time.sleep(0.3) # 每滚轮一下间隔0.3秒 # 户籍地址点击三次 for i in range(3): pyautogui.click(1404,473) rand_sleep() # 1. 复制指定文字到剪贴板 # print(写入姓名:,name) pyperclip.copy(address) # 2. 模拟CtrlV粘贴 pyautogui.hotkey(ctrl, v) rand_sleep() # 延迟2秒切换窗口 # 下移到底部 for _ in range(1): pyautogui.scroll(-1000) rand_sleep() # 确认回到最初的界面 pyautogui.click(1027,857) time.sleep(5) # 保存时间长一点 # 自动最大化VSCode win.maximize() print(VSCode已自动最大化程序结束)25个孩子大约12分钟小4班的表单来了这份不是我设计的模版班主任收集了一些幼儿的基础信息家长自己填写的省市就很不完整缺少区还是要用接龙管家里面的“省市区”不过地址有的这个文件上有个图标看看Python能不能识别结果是可以显示图片地址修改了还有一个外省的“市”“区”接龙表单里我们收集了家长填写的省市区如何拆分成开来并且能 园园通小班孩子分班后补全信息 1.外省户口孩子更新地址只更新地址把待更新改掉 3.Python模拟鼠标点击园园通按钮进行分班 4.前期已经3101搜索过了。 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) # file_path rC:\Users\mhjg2\Desktop\20260805园园通小班分班\20260805班级信息表.xlsx # file_path rC:\Users\mhjg2\Desktop\20260805园园通小班分班\20260806小1班圆圆通信息补全(1).xlsx # file_path rC:\Users\mhjg2\Desktop\20260805园园通小班分班\20260806小3班圆圆通信息补全.xlsx # file_path rC:\Users\mhjg2\Desktop\20260805园园通小班分班\小4学生信息收集表_群收集.xlsx file_path rC:\Users\mhjg2\Desktop\20260805园园通小班分班\小5班圆圆通信息填写收集(1).xlsx wb openpyxl.load_workbook(file_path) # 读取表格 for sheet_name in wb.sheetnames: ws wb[sheet_name] for row in ws.iter_rows(min_row2, values_onlyTrue): # 从第二行开始读取姓名 # for row in ws.iter_rows(min_row21, values_onlyTrue): # 如果出问题断了从第X行读取孩子姓名 if len(row) 4: continue name row[0] # name row[4] # 小四班姓名在第五列 if not name or str(name).strip() : continue # address row[4] # address row[10] # 小四班户籍详细地址在第11列 address row[11] # 小五班户籍详细地址在第12列 # class_name row[1] # garden_name row[1] # data_list.append([class_name, name]) print(name) print(address) # 点击姓名栏 pyautogui.click(861,376) # 1. 复制指定文字到剪贴板 # print(写入姓名:,name) pyperclip.copy(name) # 2. 模拟CtrlV粘贴 pyautogui.hotkey(ctrl, v) rand_sleep() # 延迟2秒切换窗口 # 搜索 pyautogui.click(758,497) rand_sleep() # 编辑 pyautogui.click(1652,671) time.sleep(3) # 模拟滚动到底部 pyautogui.click(1652,671) for _ in range(2): pyautogui.scroll(-1000) rand_sleep() # time.sleep(0.3) # 每滚轮一下间隔0.3秒 # 户籍地址点击三次 for i in range(3): pyautogui.click(1404,473) rand_sleep() # 1. 复制指定文字到剪贴板 # print(写入姓名:,name) pyperclip.copy(address) # 2. 模拟CtrlV粘贴 pyautogui.hotkey(ctrl, v) rand_sleep() # 延迟2秒切换窗口 # 下移到底部 for _ in range(1): pyautogui.scroll(-1000) rand_sleep() # 确认回到最初的界面 pyautogui.click(1027,857) time.sleep(5) # 保存时间长一点 # 自动最大化VSCode win.maximize() print(VSCode已自动最大化程序结束)最后一个小2班 园园通小班孩子分班后补全信息 1.外省户口孩子更新地址只更新地址把待更新改掉 3.Python模拟鼠标点击园园通按钮进行分班 4.前期已经3101搜索过了。 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) # file_path rC:\Users\mhjg2\Desktop\20260805园园通小班分班\20260805班级信息表.xlsx # file_path rC:\Users\mhjg2\Desktop\20260805园园通小班分班\20260806小1班圆圆通信息补全(1).xlsx # file_path rC:\Users\mhjg2\Desktop\20260805园园通小班分班\20260806小3班圆圆通信息补全.xlsx # file_path rC:\Users\mhjg2\Desktop\20260805园园通小班分班\小4学生信息收集表_群收集.xlsx file_path rC:\Users\mhjg2\Desktop\20260805园园通小班分班\20260806小2班圆圆通信息补全模版.xlsx wb openpyxl.load_workbook(file_path) # 读取表格 for sheet_name in wb.sheetnames: ws wb[sheet_name] for row in ws.iter_rows(min_row11, values_onlyTrue): # 从第二行开始读取姓名 # for row in ws.iter_rows(min_row21, values_onlyTrue): # 如果出问题断了从第X行读取孩子姓名 if len(row) 4: continue name row[0][2:] # name row[4] # 小四班姓名在第五列 if not name or str(name).strip() : continue address row[4] # address row[10] # 小四班户籍详细地址在第11列 # address row[11] # 小五班户籍详细地址在第12列 # class_name row[1] # garden_name row[1] # data_list.append([class_name, name]) print(name) print(address) # 点击姓名栏 pyautogui.click(861,376) # 1. 复制指定文字到剪贴板 # print(写入姓名:,name) pyperclip.copy(name) # 2. 模拟CtrlV粘贴 pyautogui.hotkey(ctrl, v) rand_sleep() # 延迟2秒切换窗口 # 搜索 pyautogui.click(758,497) rand_sleep() # 编辑 pyautogui.click(1652,671) time.sleep(3) # 模拟滚动到底部 pyautogui.click(1652,671) for _ in range(2): pyautogui.scroll(-1000) rand_sleep() # time.sleep(0.3) # 每滚轮一下间隔0.3秒 # 户籍地址点击三次 for i in range(3): pyautogui.click(1404,473) rand_sleep() # 1. 复制指定文字到剪贴板 # print(写入姓名:,name) pyperclip.copy(address) # 2. 模拟CtrlV粘贴 pyautogui.hotkey(ctrl, v) rand_sleep() # 延迟2秒切换窗口 # 下移到底部 for _ in range(1): pyautogui.scroll(-1000) rand_sleep() # 确认回到最初的界面 pyautogui.click(1027,857) time.sleep(5) # 保存时间长一点 # 自动最大化VSCode win.maximize() print(VSCode已自动最大化程序结束)同样取0列和4列但是0列的姓名前面有两位数字学号切片从索引2开始提取纯姓名。三、修改后验证现在5个小班的带填写户籍地址都修改了我把园园通数据都导出来看看有没有没有填写的。r后继问题1、补全户籍地址、居住地址中的省市区大部分地址有只有路弄号2、修改小班外省户籍地址的省、市、区的正确地址之前默认选第一个3、补全少数民族实在很少所以就把5个EXCEL打开看看那几个是少数民族手动复制名字单独修改保存小班只有两位少数民族

相关新闻

GDB 使用指南

GDB 使用指南

GDB 官网 https://www.sourceware.org/gdb/ GDB 是什么东西? GDB, the GNU Project debugger, allows you to see what is going on inside’ another program while it executes – or what another program was doing at the moment it crashed. 👇 …

2026/8/18 19:15:29 阅读更多 →
Spring Boot中使用JdbcTemplate

Spring Boot中使用JdbcTemplate

一、前言 在Spring Boot开启JdbcTemplate很简单,只需要引入spring-boot-starter-jdbc依赖即可。JdbcTemplate封装了许多SQL操作,具体可查阅官方文档https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jdbc/core/JdbcTemplat…

2026/8/18 19:15:29 阅读更多 →
JMETER连接DM8

JMETER连接DM8

JMETER连接DM8(最后附视频) 1 切换显示语言 2 添加jar包 3 创建线程组 4 创建JDBC Connection Configuration 4.1定义连接池名称 4.2 配置jdbc连接串 4.2.1 Database URL: jdbc:dm://127.0.0.1:5236 4.2.2 JDBC Driver class: dm.jdbc.driver.DmDriver 4.2.3 数据库用户名&a…

2026/8/18 19:15:29 阅读更多 →

最新新闻

基于Home Assistant与Zigbee的智能灯光语音控制实战指南

基于Home Assistant与Zigbee的智能灯光语音控制实战指南

1. 项目概述:当语音助手遇上智能家居“Ok Google, Give Me Lights”——这个项目标题,听起来就像一句日常的魔法咒语。它精准地描绘了一个现代智能家居场景:你刚下班回家,双手提着购物袋,或者正窝在沙发里享受电影时光…

2026/8/19 2:59:05 阅读更多 →
基于智能体模型生成合成医疗数据:破解AI模型极端场景鲁棒性难题

基于智能体模型生成合成医疗数据:破解AI模型极端场景鲁棒性难题

1. 从真实困境到仿真方案:为什么我们需要用智能体模型生成医疗数据在医疗人工智能领域,尤其是在急诊和重症监护场景下,我们常常面临一个核心矛盾:最需要强大、鲁棒的机器学习模型来辅助决策的时刻,恰恰是数据最稀缺、最…

2026/8/19 2:59:05 阅读更多 →
智能家居灯光自动化:基于Home Assistant与Zigbee的本地化语音控制方案

智能家居灯光自动化:基于Home Assistant与Zigbee的本地化语音控制方案

1. 项目概述:当语音助手遇上智能家居“Ok Google, Give Me Lights”——这个看似简单的指令,背后连接的是一个正在深刻改变我们生活方式的庞大生态:智能家居。作为一名折腾过市面上几乎所有主流智能家居平台的从业者,我深知从“能…

2026/8/19 2:59:05 阅读更多 →
基于ESP32与Arduino的LED建筑机械:从点阵屏到动态光影装置

基于ESP32与Arduino的LED建筑机械:从点阵屏到动态光影装置

1. 项目概述:当LED遇见建筑机械“LED Architectural Machin”这个项目标题,初看可能有些抽象,但结合我们手头的热词——LED、Arduino、ESP32、点阵屏、控制界面——它的轮廓就清晰起来了。这本质上是一个将动态LED显示系统与某种机械结构或建…

2026/8/19 2:59:05 阅读更多 →
µLind项目:在现代化平台复现6502与6809经典8位CPU的编程体验

µLind项目:在现代化平台复现6502与6809经典8位CPU的编程体验

1. 项目缘起:一封写给8位元时代的情书如果你和我一样,成长于那个屏幕闪烁着绿色或琥珀色字符、开机需要等待磁带加载、游戏卡带需要吹气的年代,那么“8位元”这个词,对你而言绝不仅仅是一个技术名词。它代表着一个充满探索精神、资…

2026/8/19 2:59:05 阅读更多 →
基于Raspberry Pi Pico与W5100S的智能诗歌时钟:硬件选型与MicroPython开发全解析

基于Raspberry Pi Pico与W5100S的智能诗歌时钟:硬件选型与MicroPython开发全解析

1. 项目缘起:当复古时钟遇见AI诗魂几年前,我在一个旧货市场淘到了一个老式挂钟的机芯和表盘,一直想把它改造成一个有点特别的东西。一个只会走时的钟,在今天看来已经有些乏味了。我想要的,是一个能讲故事、能带来一点意…

2026/8/19 2:58:05 阅读更多 →

日新闻

【单片机课程设计/毕业设计】基于 STM32 与 WiFi 模块的室内通风智能管控系统设计 基于 STM32 的人体存在感知自适应风扇控制系统设计(018503)

【单片机课程设计/毕业设计】基于 STM32 与 WiFi 模块的室内通风智能管控系统设计 基于 STM32 的人体存在感知自适应风扇控制系统设计(018503)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/19 0:00:30 阅读更多 →
AI如何驱动数学猜想生成:从大语言模型到自动化数学发现

AI如何驱动数学猜想生成:从大语言模型到自动化数学发现

1. 项目概述:当AI开始“猜”数学定理 最近在AI研究圈里,一个名为“Moonshine”的项目引起了不小的讨论。这名字本身就挺有意思,直译是“月光”,但在数学史上,它特指一个神秘而美丽的联系——魔群月光猜想,连…

2026/8/19 0:00:30 阅读更多 →
WarcraftHelper 魔兽争霸3优化实战指南

WarcraftHelper 魔兽争霸3优化实战指南

WarcraftHelper 魔兽争霸3优化实战指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 一台刚配的新电脑,跑《魔兽争霸3》却卡成 PPT——这…

2026/8/19 0:02:31 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/18 9:15:35 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/18 9:06:28 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/18 9:04:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/17 18:54:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/17 18:55:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/17 18:55:55 阅读更多 →