![Python+Office:轻松实现Python办公自动化](https://wfqqreader-1252317822.image.myqcloud.com/cover/834/40107834/b_40107834.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.9 工作表合并与拆分
在实际工作中,我们需要的数据一般分布在多个不同的工作表中,那么如何快速合并这些工作表是一个比较棘手的问题。利用Python程序不仅可以快速合并大量的工作表,还可以降低手工合并带来的误差。
3.9.1 单个工作簿多个工作表合并
单个工作簿多个工作表,即数据集仅由一个工作簿构成,但是其中有多个工作表。例如,我们这里需要合并的数据集是2020年10月技术部员工的考核数据,它只有一个工作簿,但是有两个工作表,分别有4条记录和5条记录,如图3-1所示。
![img](https://epubservercos.yuewen.com/450204/20862583108963306/epubprivate/OEBPS/Images/txt004_130.jpg?sign=1739328846-3mkXdi4i23XZuNF0qwrkaURF18MYQGV4-0-a65c0a64ab94e7ece4b9aada1bcb6716)
图3-1 合并前数据集
下面将单个工作簿中的两个工作表数据合并到“技术部10月员工考核汇总.xlsx”工作表中,代码如下:
![img](https://epubservercos.yuewen.com/450204/20862583108963306/epubprivate/OEBPS/Images/txt004_131.jpg?sign=1739328846-MO7bSj15NqQAp84HyuKtAcoVQC47SzwE-0-c9acbbfcd9d277e02af8a25636f30eaf)
运行上述代码,输出结果如图3-2所示。
![img](https://epubservercos.yuewen.com/450204/20862583108963306/epubprivate/OEBPS/Images/txt004_132.jpg?sign=1739328846-V2oA0Pum32WQx5jklbq5MNzJxQJ8eJXP-0-f8774aa7915e44134ae016a4ab922a66)
图3-2 合并后数据集
3.9.2 多个工作簿单个工作表合并
多个工作簿单个工作表,即数据集由两个及两个以上的工作簿构成,每个工作簿只有一个工作表。例如,我们这里需要合并的数据集是2020年9月的员工考核数据,它包含3个工作簿,每个工作簿有一个工作表,每个工作表有3条记录,如图3-3所示。
![img](https://epubservercos.yuewen.com/450204/20862583108963306/epubprivate/OEBPS/Images/txt004_133.jpg?sign=1739328846-VdZasBvCkdk2tUfD81POENoZqbZS44xS-0-0e4ed876fbfca7e743043f0cdfc5aeef)
图3-3 合并前数据集
下面将3个工作簿中的数据合并到“9月员工考核汇总.xlsx”工作表中,代码如下:
![img](https://epubservercos.yuewen.com/450204/20862583108963306/epubprivate/OEBPS/Images/txt004_134.jpg?sign=1739328846-E5Qte5A7FPXkMLx3zGjJeCVXYtEMynVh-0-74ba6fda7dd4bace50a67d88c675f6f1)
运行上述代码,输出结果如图3-4所示。
![img](https://epubservercos.yuewen.com/450204/20862583108963306/epubprivate/OEBPS/Images/txt004_135.jpg?sign=1739328846-C9DY1KhthBOckZGjpzdO32rQRg99Nlzv-0-e62bcf6c17b26879106778095d39922a)
图3-4 合并后数据集
3.9.3 工作表按某一列拆分数据
在工作中,有时需要根据某个分类变量,对工作表中的数据按某一列进行拆分,如性别、年龄、籍贯等。例如,我们需要拆分的数据集是2020年9月技术部员工的考核数据,有9条记录,如图3-5所示。
![img](https://epubservercos.yuewen.com/450204/20862583108963306/epubprivate/OEBPS/Images/txt004_136.jpg?sign=1739328846-xtxU3Ohu87lGCwJr1LA02nxLhlrgkOnJ-0-c4783ae315515131c0534975cbe8cc5d)
图3-5 拆分前数据集
下面对“9月技术部员工考核.xls”中的数据,根据员工的籍贯进行拆分,代码如下:
![img](https://epubservercos.yuewen.com/450204/20862583108963306/epubprivate/OEBPS/Images/txt004_137.jpg?sign=1739328846-wcFwU4nWNNYYKQvETbta8RbXBAzHfOR3-0-8238918b203a11a80dcf56902410b436)
运行上述代码,输出结果如图3-6所示。
![img](https://epubservercos.yuewen.com/450204/20862583108963306/epubprivate/OEBPS/Images/txt004_138.jpg?sign=1739328846-l8hWuVmgCtnDBnaC63f6op2GHsbtsQuf-0-72275adc677981ae95b158d2f1dc8de5)
图3-6 拆分后数据集