用Python搭建‘迎新管理信息系统’:从零开始的理工大学实践
大家好,今天我要跟大家聊聊怎么用Python来做一个“迎新管理信息系统”,而且这个系统是给理工大学设计的。听起来是不是有点高大上?其实也没那么复杂,咱们一步步来。
首先,我得说一下什么是“迎新管理系统”。简单来说,就是学校在新生入学前,用来收集和管理新生信息的一个系统。比如姓名、学号、专业、联系方式等等。以前可能都是人工录入,或者用Excel表格,但现在嘛,肯定要更高效一点。
那为什么选择Python呢?因为Python语法简单,适合快速开发,而且有很多库可以帮忙。比如说,处理文件的话,可以用pandas;做网页的话,可以用Flask或者Django;还有数据库的话,可以用SQLite或者MySQL。不过今天我们先从最基础的开始,不涉及复杂的框架。
那我们今天的重点是什么呢?是写一个简单的程序,用来读取和生成“.doc”文件,然后把这些数据存到数据库里。这样就实现了迎新信息的管理。
第一步:安装必要的库
首先,我们需要安装几个Python库。一个是python-docx,它可以帮助我们生成和操作.doc文件。另一个是sqlite3,这是Python自带的数据库模块,不用额外安装。
如果你还没装python-docx,可以运行下面的命令:
pip install python-docx
这样我们就有了处理.doc文件的能力了。
第二步:创建数据库
接下来,我们要创建一个数据库,用来存储迎新信息。我们可以用SQLite,因为它轻量又方便。
下面是一个简单的代码示例,用来创建一个名为“new_student.db”的数据库,并且建立一个表,叫“students”,里面包含学生的姓名、学号、专业和联系方式。

import sqlite3
# 连接数据库(如果不存在则会自动创建)
conn = sqlite3.connect('new_student.db')
cursor = conn.cursor()
# 创建表
cursor.execute('''
CREATE TABLE IF NOT EXISTS students (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
student_id TEXT NOT NULL,
major TEXT NOT NULL,
contact TEXT NOT NULL
)
''')
# 提交并关闭
conn.commit()
conn.close()
这段代码很简单,就是连接数据库,创建一个学生表。你可以把它保存成一个Python文件,比如叫做“create_db.py”,然后运行一下。
第三步:生成.doc文件
现在我们已经有了数据库,下一步就是把数据导出成.doc文件,方便打印或者存档。
这里我们用python-docx库来生成.doc文件。下面是一个例子,展示如何将数据库中的数据写入.doc文件中。
from docx import Document
import sqlite3
# 连接数据库
conn = sqlite3.connect('new_student.db')
cursor = conn.cursor()
# 查询所有学生信息
cursor.execute("SELECT * FROM students")
rows = cursor.fetchall()
# 创建文档
doc = Document()
# 添加标题
doc.add_heading('迎新学生信息表', 0)
# 添加表格
table = doc.add_table(rows=1, cols=5)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'ID'
hdr_cells[1].text = '姓名'
hdr_cells[2].text = '学号'
hdr_cells[3].text = '专业'
hdr_cells[4].text = '联系方式'
# 填充数据
for row in rows:
row_cells = table.add_row().cells
row_cells[0].text = str(row[0])
row_cells[1].text = row[1]
row_cells[2].text = row[2]
row_cells[3].text = row[3]
row_cells[4].text = row[4]
# 保存文档
doc.save('students_info.docx')
conn.close()
这段代码会从数据库中读取所有学生的信息,然后生成一个.docx文件,名字是“students_info.docx”。注意,虽然文件名是.docx,但其实它也是兼容旧版.doc格式的,所以你也可以直接用Word打开。
第四步:输入数据到数据库
现在我们已经能生成.doc文件了,接下来就是怎么把数据输入到数据库里。我们可以手动添加,也可以写一个脚本,让系统自动导入。
下面是一个简单的例子,展示如何通过用户输入的方式,把学生信息插入到数据库中。
import sqlite3
# 连接数据库
conn = sqlite3.connect('new_student.db')
cursor = conn.cursor()
# 输入学生信息
name = input("请输入姓名:")
student_id = input("请输入学号:")
major = input("请输入专业:")
contact = input("请输入联系方式:")
# 插入数据
cursor.execute("INSERT INTO students (name, student_id, major, contact) VALUES (?, ?, ?, ?)",
(name, student_id, major, contact))
# 提交并关闭
conn.commit()
conn.close()
运行这段代码后,你就可以手动输入学生信息了。当然,如果是批量导入,可以用CSV文件或者其他方式,但这里为了简化,我们先用手动输入。
第五步:整合成一个系统
现在我们已经有三个功能了:创建数据库、生成.doc文件、输入学生信息。接下来,我们可以把这些功能整合起来,形成一个简单的管理系统。
我们可以写一个主程序,让用户可以选择不同的操作,比如添加学生、生成报告、查看数据库等。
import sqlite3
from docx import Document
def add_student():
conn = sqlite3.connect('new_student.db')
cursor = conn.cursor()
name = input("请输入姓名:")
student_id = input("请输入学号:")
major = input("请输入专业:")
contact = input("请输入联系方式:")
cursor.execute("INSERT INTO students (name, student_id, major, contact) VALUES (?, ?, ?, ?)",
(name, student_id, major, contact))
conn.commit()
conn.close()
print("学生信息已添加!")
def generate_report():
conn = sqlite3.connect('new_student.db')
cursor = conn.cursor()
cursor.execute("SELECT * FROM students")
rows = cursor.fetchall()
doc = Document()
doc.add_heading('迎新学生信息表', 0)
table = doc.add_table(rows=1, cols=5)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'ID'
hdr_cells[1].text = '姓名'
hdr_cells[2].text = '学号'
hdr_cells[3].text = '专业'
hdr_cells[4].text = '联系方式'
for row in rows:
row_cells = table.add_row().cells
row_cells[0].text = str(row[0])
row_cells[1].text = row[1]
row_cells[2].text = row[2]
row_cells[3].text = row[3]
row_cells[4].text = row[4]
doc.save('students_info.docx')
conn.close()
print("报告已生成,文件为:students_info.docx")
def view_students():
conn = sqlite3.connect('new_student.db')
cursor = conn.cursor()
cursor.execute("SELECT * FROM students")
rows = cursor.fetchall()
for row in rows:
print(f"ID: {row[0]}, 姓名: {row[1]}, 学号: {row[2]}, 专业: {row[3]}, 联系方式: {row[4]}")
conn.close()
def main():
while True:
print("\n欢迎使用迎新管理系统")
print("1. 添加学生信息")
print("2. 生成学生信息报告")
print("3. 查看学生信息")
print("4. 退出")
choice = input("请选择操作:")
if choice == '1':
add_student()
elif choice == '2':
generate_report()
elif choice == '3':
view_students()
elif choice == '4':
break
else:
print("无效选项,请重新选择。")
if __name__ == "__main__":
main()

这就是一个简单的迎新管理系统。你可以运行这个程序,然后根据提示进行操作。添加学生、生成报告、查看信息,一应俱全。
第六步:扩展功能
现在我们已经实现了一个基本的系统,但还可以继续扩展。比如,可以加入查询功能,按学号或姓名查找学生;也可以支持从CSV文件导入数据;甚至可以做成Web界面,这样就能通过浏览器访问了。
不过对于初学者来说,先掌握这些基础功能就足够了。等你熟悉了之后,再慢慢往高阶方向发展。
第七步:测试和部署
最后一步,就是测试你的系统是否正常工作。你可以尝试添加几个学生,然后生成报告看看有没有错误。如果有问题,就检查一下代码哪里出错了。
一旦测试通过,就可以把这个系统部署到理工大学的服务器上,或者直接放在学校的计算机里,供管理人员使用。
总结
总的来说,用Python开发一个迎新管理信息系统并不难,只要掌握了基本的数据库操作和文件处理,就能轻松实现。而且,通过结合.doc格式的文件处理,还能方便地生成和打印学生信息,非常适合理工大学这样的高校使用。
希望这篇文章能帮到你,如果你对Python感兴趣,或者想了解更多的项目实践,可以继续关注我,后续我会分享更多关于Python开发的内容。
本站知识库部分内容及素材来源于互联网,如有侵权,联系必删!

