构建基于Python的招生管理系统及其下载功能实现
小明:嘿,小李!听说你最近在研究招生管理系统?
小李:是啊,我正在尝试用Python编写一个小型的招生管理系统。这个系统可以记录学生信息、课程安排等。
小明:听起来很有趣!那你是怎么开始的呢?
小李:首先,我决定使用SQLite作为数据库来存储数据。这样简单又方便。
小明:明白了,那你现在有具体的代码了吗?
小李:当然了,这是我的数据库初始化脚本:
import sqlite3
def create_database():
conn = sqlite3.connect('recruitment.db')
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS students (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER,
course TEXT
)
''')
conn.commit()
conn.close()
if __name__ == '__main__':
create_database()
小明:哇,看起来挺专业的。那么,添加新学生的功能要怎么写呢?
小李:很简单,只需要调用类似这样的函数:
def add_student(name, age, course):
conn = sqlite3.connect('recruitment.db')
cursor = conn.cursor()
cursor.execute('INSERT INTO students (name, age, course) VALUES (?, ?, ?)', (name, age, course))
conn.commit()
conn.close()
# 示例调用
add_student('张三', 20, '数学')
小明:太酷了!如果我想从系统中导出所有学生的信息怎么办?
小李:我们可以写一个函数专门用来生成CSV文件:
import csv
import sqlite3
def export_students_to_csv(filename='students.csv'):
conn = sqlite3.connect('recruitment.db')
cursor = conn.cursor()
cursor.execute('SELECT * FROM students')
rows = cursor.fetchall()
with open(filename, mode='w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['ID', 'Name', 'Age', 'Course'])
writer.writerows(rows)
conn.close()
# 示例调用
export_students_to_csv()
小明:这下我就知道怎么做了,谢谢你的分享!
小李:不客气,有问题随时问我哦!
本站知识库部分内容及素材来源于互联网,如有侵权,联系必删!