今天高高兴兴,因为复试名单公布了,但拿到名单的时候发现是乱序的,那么怎么样才能拿到本专业的真实名单呢?
所以打算利用所学,来筛选出符合条件的名单,轻松判断自己所处的位置及竞争力。
导入库函数
os
——用来获取当前路径re
——用来正则匹配考生编号pandas
——用来操作csv,读取和写入
import re |
实现方法
写出对应的正则表达式
- 首先我们需要明确要匹配的字符的构成
考生编号:学校编号+地区号+学院号+方向+流水号
- 根据需要书写正则表达式
# 【计算机专硕】匹配规则 |
读取csv文件
这里我们是用pandas进行读取文件,将其格式化为df类型。
需要注意的是:windows默认的编码方式为gbk,而不是utf-8
with open(read_path, encoding="gbk") as file: |
取得对应的考生编号,并匹配
取得第i行的第一列元素,将其转换成字符串,便于后续对其进行正则匹配
# 取到15位准考证号 |
正则匹配
利用re.match()
进行匹配,判断当前是否为我们所查找的。
如果匹配,则取到该行的所有元素。
if re.match(rule, number): |
输出到csv文件
pandas的df类型数据直接就有输出到csv文件的方法,直接调用输出即可。
不过有几点需要注意:
- 输出依旧要采用gbk编码
- 索引值要置为False,不然会多一列我们并不想要的原先数据的索引列
- 输出模式要选择附加模式,这样不会覆盖原数据
df.to_csv(write_path, mode="a", index=False,header=None, encoding="gbk") |