当前位置:首页>python>给6900名新生编学号:我用Python做了一件手工要干3天的事

给6900名新生编学号:我用Python做了一件手工要干3天的事

  • 2026-09-02 19:36:31
给6900名新生编学号:我用Python做了一件手工要干3天的事

"今年新生6900多个,学号要按学院、专业、班级分级编码,用Excel一个个手动拼,怎么也得搞三天……"

开学第一周,教务老师愁眉苦脸来找我。

我说:让我的学生来做。

两节课,一份脱敏名单,一段Python代码——

6900个唯一学号,批量生成,导出Excel,全程不到5分钟。

但这堂课真正教给学生的,远不止"怎么用pandas读表格"。


一、先定规则,再写代码

很多初学者上来就想敲代码。我们没有。

第一步:把问题拆清楚。

本次新生是2026年入学,学号结构我们和学生一起定:

26 | 01 | 01 | 01 | 01

年份   学院   专业   班级   学生编号

第一层:入学年份(固定 = "26")

第二层:二级学院代码(2位,共7个学院)

二级学院
代码
智能制造学院
01
财经学院
02
车辆工程学院
03
教育学院
04
人工智能学院
05
健康学院
06
建筑工程学院
07

第三层:专业代码(2位,学生自主制定,同学院内从01编起)

第四层:班级代码(2位,按专业招生规模划分,每班约40人)

第五层:班级内学生编号(2位,班内从01连续编号)

📌 教学提示:这一步通常被学生忽略,但它恰恰是最重要的。代码是工具,规则才是灵魂。拿到任何数据任务,先用白话把逻辑说清楚,再动手写代码。


二、四步实现:从名单到学号

第一步:读取脱敏名单

我们给了学生一份Excel格式的新生名单(已脱敏),用 pandas 读取:

现在我们已经不用手敲代码了,既然要读取表格,那肯定是要给AI下指令的:

“根据我提供的Excel表格,用pandas读取其中内容。”

运行后,学生看到熟悉的表格结构出现在终端里,第一个小成就感来了。

第二步:建立编码映射字典

college_code = {     "智能制造学院": "01",     "财经学院": "02",     "车辆工程学院": "03",     "教育学院": "04",     "人工智能学院": "05",     "健康学院": "06",     "建筑工程学院": "07" }  
# 专业代码(学生自主制定,示例) 
major_code = {     "大数据技术与应用": "01",     "人工智能技术应用": "02",     "电子商务": "01",     "汽车检测与维修技术": "01",     "学前教育": "01" }

这一步看似简单,实际上学生要先统计全校所有专业名称,确保字典里的key和名单字段名完全一致——少一个空格都会报错。

这是他们第一次真正理解:数据清洗,比写代码更花时间。

第三步:批量生成学号(核心)

各专业分配班级应该基于平均分配的原则,但通常一个班级不应该低于30人;
首先对每个专业的学生进行分班,然后统计各个专业班级的数量。
基于以下规则编制表格中学生的学号:(略,学生自行填入)

跑通的那一刻,学生的反应大概是:"就这?这么快?"

第四步:导出Excel

output_cols = ["姓名", "学院名称", "专业名称", "班级代码", "学生编号", "学号"] df_expanded[output_cols].to_excel("2026级新生学号生成结果.xlsx", index=False) print(f"✅ 完成!共生成 {len(df_expanded)} 个学号,文件已导出。")

通过AI辅助编码,Excel文件出现在文件夹里。

教务老师拿到文件的第一句话是:"这要让我手动做,真的要搞三天。"


三、这堂课真正教给学生的三件事

01 任何复杂问题,都可以被拆解

6900个学号听起来很大。但拆开看:也就四步

——每一步都不难。

难的是在动手之前,把问题想清楚。

02 工具是手段,思路是核心

有同学问:"老师,我直接让AI帮我生成代码不行吗?"

我的回答:可以,但有前提——你得知道自己要什么。

如果你连规则都说不清,AI给你的代码,你也看不懂,更不会调。

AI辅助的本质:人先有思路,工具帮你落地。


四、这套逻辑,不只用在学校

同样的"规则制定+批量生成唯一编码"逻辑,在真实工作中到处都是:

🏢 企业HR系统:员工工号(部门+入职年份+序号)

🛍️ 电商平台:订单号(日期+仓库+流水号)

🏥 医院系统:门诊编号(科室+日期+序号)

🎓 学校教务:毕业证编号、档案编号

如果你或你的团队,还在用Excel手动拼这些编号——这篇文章的思路,改改提示词就能直接用。


最缺的不是代码,而是用代码解决真实问题的完整经历。

这次实践的意义,不只是生成了6900个学号。

而是每个学生在调通代码的那一刻,都真实地感受到了一件事:

原来我也可以用AI辅助代码,解决真实世界里的问题。

写在最后

这堂课,没有复杂的语法堆砌,却让每一位学生都参与到了真实的数据处理流程中。

他们不仅学会了pandas的基础操作,更重要的是建立了数据思维和问题拆解能力—— 这比记住 100 个代码语法更有价值。

作为教师,我们总希望能给学生的,不只是课本上的知识,更是解决实际问题的能力。

有没有一种可能,目前的AI辅助编程工具(类似Trae,Workbuddy等)就是未来的office,成为每个职场人的必备工具?


📣 如果这篇文章对你有帮助,转发给同样在教Python、学Python的朋友。

💬 评论区告诉我:你在工作中有哪些重复性的数据工作,想用Python解决?下一期案例,也许就是你的需求。

▸ 关注【老谢谈谈谈】,每周聊职场、商业和Python的实用干货。

最新文章

随机文章