使用 Python Pandas 操作 Excel 名册:学号姓名查询、成绩录入和信息补全

本文将介绍使用 Python Pandas 库操作 Excel 名册文件,实现学号或姓名查询、成绩录入和信息补全功能。

代码示例

import pandas as pd

# 读取名册文件
df = pd.read_excel('名册.xls')

# 定义函数,根据学号或姓名查找学生信息
def search_student():
    while True:
        keyword = input('请输入学号或姓名(输入'q'退出):')
        if keyword == 'q':
            break
        # 判断输入的是学号还是姓名
        if keyword.isdigit():
            result = df.loc[df['学号'] == int(keyword)]
        else:
            result = df.loc[df['姓名'].str.contains(keyword)]
        
        # 如果找到了匹配的学生信息
        if not result.empty:
            print(result[['学号', '姓名']])
            # 接收成绩输入
            score = input('请输入成绩:')
            # 根据序号存放位置
            index = result.iloc[0]['序号']
            df.loc[df['序号'] == index, '成绩'] = score
            # 保存文件
            df.to_excel('名册.xls', index=False)
            print('成绩已保存!')
            break
        else:
            print('未找到匹配的学生信息,请重新输入。')

# 定义函数,根据学号或姓名补全信息
def complete_info(keyword):
    # 判断输入的是学号还是姓名
    if keyword.isdigit():
        result = df.loc[df['学号'] == int(keyword)]
    else:
        result = df.loc[df['姓名'].str.contains(keyword)]
    
    # 如果找到了匹配的学生信息
    if not result.empty:
        print(result[['学号', '姓名']])
        # 选择学生
        index = input('请输入序号选择学生:')
        # 如果输入的是数字
        if index.isdigit():
            index = int(index) - 1
            if index >= 0 and index < len(result):
                # 返回选择的学生信息
                return result.iloc[index]
    # 如果未找到匹配的学生信息,或者选择的序号不合法
    print('未找到匹配的学生信息,请重新输入。')
    return None

# 主程序
while True:
    choice = input('请选择功能:1.输入学号或姓名查询学生信息并录入成绩;2.输入学号或姓名补全信息
')
    if choice == '1':
        search_student()
    elif choice == '2':
        keyword = input('请输入不完整的学号或姓名:')
        complete_info(keyword)
    else:
        break

代码解释

  1. 读取名册文件: 使用 pd.read_excel('名册.xls') 读取名为 '名册.xls' 的 Excel 文件,并将数据存储在 df 数据框中。
  2. 查找学生信息函数 search_student()
    • 循环输入学号或姓名,直到用户输入 'q' 退出循环。
    • 判断输入的是学号还是姓名,根据输入类型筛选数据框。
    • 如果找到匹配的学生信息,输出学号和姓名,接收成绩输入,并将成绩存储到对应序号的 '成绩' 列,最后保存修改后的数据框到 '名册.xls' 文件。
    • 如果没有找到匹配的学生信息,输出提示信息。
  3. 补全信息函数 complete_info(keyword)
    • 根据输入的学号或姓名筛选数据框。
    • 如果找到匹配的学生信息,输出学号和姓名,提示用户输入序号选择学生。
    • 如果输入的序号合法,返回选择的学生信息。
    • 如果没有找到匹配的学生信息,或者选择的序号不合法,输出提示信息。
  4. 主程序:
    • 提示用户选择功能:查询学生信息并录入成绩或补全信息。
    • 根据用户选择调用相应的函数。
    • 如果用户输入其他选项,退出程序。

总结

本示例代码演示了如何使用 Python Pandas 库操作 Excel 文件,实现学号或姓名查询、成绩录入和信息补全功能。你可以根据实际需求修改代码,例如添加其他功能或修改文件路径。

Python Pandas 操作 Excel 名册:学号姓名查询、成绩录入和信息补全

原文地址: https://www.cveoy.top/t/topic/nfHu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录