python识别excel表头 python读取excel多级表头_python识别excel表头

Pixabay License

我们为什么学习 Python,因为 Python 可以帮助我们实现自动化办公,快速地进行数据处理,数据处理典型的应用场景就是用 Python 对 Excel 数据处理。再前面我也写过一篇 Python 中对 Excel 数据的简单处理使用 Python 优雅地操作 Excel 数据。

今天要讲的是 Python 更进一步地对 Excel 数据的处理,假设在已知一个磁盘中的某个文件夹下有四年级三班的语文、数学、科学三份成绩表,由于三份成绩表分开统计后,不利于统计每位同学的总成绩和学生的学习情况分析,现在要将三份成绩表合并成一份,现已给出合并后的表头如下

python识别excel表头 python读取excel多级表头_python读取文件夹下特定的文件_02

语文成绩表、数学成绩表、科学成绩表表头如下

python识别excel表头 python读取excel多级表头_python读取文件夹下特定的文件_03

01理清思路

python识别excel表头 python读取excel多级表头_python读取文件夹下特定的文件_04

在解决问题之前,首先来理理思路,从语文、数学、科学成绩表的表头可以看出,考号、姓名对应合并后的表头,这两项合并后不会发生变化。在合并后的表头上分别列出了语文、数学、科学、总分四项,这里需要分别取出语文、数学、科学成绩表中的分数再一一对应的写入,并计算出每位同学的总成绩。这样,我们就可以把三科成绩合并到一张 Excel 表格中了。

python识别excel表头 python读取excel多级表头_Python_05

Python 读取文件夹下多 Excel 数据

02开始 Coding

按照以上的理出来的思路开始写出逻辑代码。如果你是 Python 新手,对 Python 读取写入文件不是很熟悉,强烈建议你可以阅读下我之前写的那篇 Python 之 Excel 基础篇,或许对你认识 Python 对 Excel 数据处理有所了解。

初始化合并后的 Excel 表格信息,创建一个全局 workbook、worksheet,用于后面写入 Excel 数据,self.worksheet.write_row('A1', headings) 写入一行表头。

python识别excel表头 python读取excel多级表头_python识别excel表头_06

读取文件夹下所有 Excel 文件,通过 os.listdir(path) 获取文件夹下所有文件信息,再利用 for 循环读取每个 Excel 数据。

python识别excel表头 python读取excel多级表头_数据处理_07

取 Excel 数据并解析数据,获取学生信息和获取各科分数。

python识别excel表头 python读取excel多级表头_python识别excel表头_08

将获取到的学生信息写入 Excel 中。学生信息,从 A2 开始写入,因为 A1 写入了表头。write_row(row,data),row 表示写入的行,data 是一个数组。

python识别excel表头 python读取excel多级表头_Python_09

将获取到的学生成绩写入 Excel 中。subject 表示写入的哪一列,在合并后的 Excel 表中,将语文、数学、科学三门成绩分别排列出来,写入成绩时就需要确定写入到哪一列。datas 是一组成绩数据,循环一次写入 Excel 表中。

python识别excel表头 python读取excel多级表头_python识别excel表头_10

最后,计算每个学生的总成绩。这里通过 Excel SUM 函数求和,在 F 列循环一次写入 SUM ,计算从语文 C 列到科学 E 列的总成绩。

python识别excel表头 python读取excel多级表头_数据处理_11

根据思路写完代码后,运行看看是否能够完成 Excel 表格的合并。运行完成后,在文件夹中创建了一个四年级三班期中成绩统计的 Excel 文件。从文件大小上看,数据应该是写入成功了。

python识别excel表头 python读取excel多级表头_python读取文件夹下特定的文件_12

最终确认,写入成功,完美地将三张表格合并完成。

python识别excel表头 python读取excel多级表头_python读取文件夹下特定的文件_13

python识别excel表头 python读取excel多级表头_数据_14

Pixabay License

03总结

感叹 Python 语言的强大,在工作中能给我们带来非常多的便利,工作中对 Excel 数据的处理是非常常见的工作,有时手动操作 Excel 可能会花很多时间,效果还不一定让领导满意。学会了 Python 不仅能节约大把时间,还能做出漂亮的 Excel。

有人可能会说,有写代码的时间,我已经把 Excel 表格整理好了。简单的 Excel 数据处理会很快处理,当 Excel 数据很复杂,数据量比较大、并且这种 Excel 数据处理在工作中每天或每月都需要处理,你还会认为手动处理 Excel 数据占优势吗?

当你写好代码后,下次再使用直接运行就完成了 Excel 数据处理,花一次时间,节省多次时间。时间是金钱,这句俗语在这里就得到了完美体现。