3.9 工作表合并与拆分

在实际工作中,我们需要的数据一般分布在多个不同的工作表中,那么如何快速合并这些工作表是一个比较棘手的问题。利用Python程序不仅可以快速合并大量的工作表,还可以降低手工合并带来的误差。

3.9.1 单个工作簿多个工作表合并

单个工作簿多个工作表,即数据集仅由一个工作簿构成,但是其中有多个工作表。例如,我们这里需要合并的数据集是2020年10月技术部员工的考核数据,它只有一个工作簿,但是有两个工作表,分别有4条记录和5条记录,如图3-1所示。

img

图3-1 合并前数据集

下面将单个工作簿中的两个工作表数据合并到“技术部10月员工考核汇总.xlsx”工作表中,代码如下:

img

运行上述代码,输出结果如图3-2所示。

img

图3-2 合并后数据集

3.9.2 多个工作簿单个工作表合并

多个工作簿单个工作表,即数据集由两个及两个以上的工作簿构成,每个工作簿只有一个工作表。例如,我们这里需要合并的数据集是2020年9月的员工考核数据,它包含3个工作簿,每个工作簿有一个工作表,每个工作表有3条记录,如图3-3所示。

img

图3-3 合并前数据集

下面将3个工作簿中的数据合并到“9月员工考核汇总.xlsx”工作表中,代码如下:

img

运行上述代码,输出结果如图3-4所示。

img

图3-4 合并后数据集

3.9.3 工作表按某一列拆分数据

在工作中,有时需要根据某个分类变量,对工作表中的数据按某一列进行拆分,如性别、年龄、籍贯等。例如,我们需要拆分的数据集是2020年9月技术部员工的考核数据,有9条记录,如图3-5所示。

img

图3-5 拆分前数据集

下面对“9月技术部员工考核.xls”中的数据,根据员工的籍贯进行拆分,代码如下:

img

运行上述代码,输出结果如图3-6所示。

img

图3-6 拆分后数据集