文件夹lab_6中存放着某班学生提交的一次实验报告,实验报告文件名中包含有学生的姓名、学号信息。请用正则表达式获取学生姓名、学号存入CBC.csv中。 (提示: ①共有35条记录,有一些文件命名未按规则; ②以下代码可输出指定目录中的所有文件的名称 import os for file in os.listdir(path): filename = str(file) )
时间: 2024-02-05 17:13:30 浏览: 116
用文件存储10个学生的姓名、学号、手机号、地址,可通过姓名或者学号查找
5星 · 资源好评率100%
可以使用Python中的re模块来实现正则表达式的匹配。以下是一个可能的实现过程:
```
import os
import re
path = "lab_6" # 目标文件夹路径
output_file = "CBC.csv" # 输出文件名
with open(output_file, "w") as f:
f.write("姓名,学号\n") # 写入表头
for file in os.listdir(path):
filename = str(file)
# 匹配姓名和学号信息
match_obj = re.match(r"(\D+)(\d+)", filename)
if match_obj:
name = match_obj.group(1)
student_id = match_obj.group(2)
# 写入CSV文件
f.write(f"{name},{student_id}\n")
```
在上面的代码中,我们首先打开一个CSV文件,写入表头。然后遍历目标文件夹中的所有文件,对于每个文件,使用正则表达式匹配出其中的姓名和学号信息,并将其写入CSV文件中。需要注意的是,如果某个文件的命名不符合规则,那么它将被忽略。
阅读全文