Python如何提取CSV列数据并按对应行成绩创建姓名分类子文件夹
实现代码及说明
你现有代码已经完成了CSV读取的核心逻辑,只需要补充路径处理、文件夹创建的逻辑即可,直接用Python标准库就能实现,不需要额外依赖pandas。
核心逻辑说明
- 读取CSV后先跳过第一行表头,避免把列名当成有效学生数据处理
- 逐行提取学生姓名、对应成绩等级,拼接为「成绩等级文件夹/学生姓名文件夹」的路径
- 创建文件夹时增加存在判断,重复运行脚本不会触发报错
完整可运行代码
import csv import os # 打开CSV文件 with open('Students.csv', encoding='utf-8') as file_obj: reader_obj = csv.reader(file_obj) # 跳过第一行表头 next(reader_obj) # 遍历每一行学生数据 for row in reader_obj: student_id, name, grade = row # 拼接目标文件夹路径:成绩等级文件夹下的学生姓名子文件夹 target_folder = os.path.join(grade, name) # 创建文件夹,已存在则跳过不报错 os.makedirs(target_folder, exist_ok=True)
运行注意事项
- 运行前请确保脚本文件、
Students.csv、你提前创建好的A/B/C/D/F等级文件夹放在同一目录下 - 如果你的等级文件夹存放在其他路径,只需要修改
os.path.join里的根路径参数即可 - 代码中指定了
encoding='utf-8',避免CSV内包含中文姓名时出现乱码问题 os.makedirs的exist_ok=True参数会自动跳过已存在的文件夹,重复运行脚本不会抛出文件已存在的错误
内容的提问来源于stack exchange,提问作者Lil_coder
相关产品推荐
相关产品推荐

