python提取多行excel问题

今天用python提取excel时遇到了下面这种格式的文件

img

我想把他转换成下面这种格式

img

目前我的想法是通过正则查找学生号和姓名,并获得他们相应的索引,然后再用查出来的值进行填充

img

但是我感觉这代码效率太慢了。大伙们有没有什么好想法或者有改进的建议也行啊

如果文件里都是四行一个人,那就循环提取,第一行提取人的信息,第三四行提取成绩