几行代码实现文件夹下所有不规范、字段参差不齐的Excel表格的快速合并。
本文章使用的表格如下:
假设有3个EXCEL表格,当然你也可以有无穷多个。
Excel表格1
省份 | 城市 | 日期 | 人口 |
---|---|---|---|
河南 | 郑州 | 2021-03 | 620 |
河南 | 洛阳 | 2021-03 | 340 |
上海 | 上海 | 2021-03 | 1200 |
江苏 | 苏州 | 2021-03 | 530 |
江苏 | 南京 | 2021-03 | 624 |
Excel表格2
日期 | 省份 | 城市 | 城市等级 | 人口 |
---|---|---|---|---|
2021-10 | 河南 | 郑州 | 二线 | 620 |
2021-10 | 河南 | 洛阳 | 三线 | 340 |
2021-10 | 上海 | 上海 | 超一线 | 1200 |
2021-10 | 江苏 | 苏州 | 一线 | 530 |
2021-10 | 江苏 | 南京 | 一线 | 624 |
Excel表格3
日期 | 省份 | 城市 | 城市等级 | 人口 | 人均收入 |
---|---|---|---|---|---|
2021-11 | 河南 | 郑州 | 二线 | 620 | 12000 |
2021-11 | 河南 | 洛阳 | 三线 | 340 | 5605 |
2021-11 | 上海 | 上海 | 超一线 | 1200 | 12328 |
2021-11 | 江苏 | 苏州 | 一线 | 530 | 8900 |
2021-11 | 江苏 | 南京 | 一线 | 624 | 9640 |
对比3个表格:
- 每个表格的列顺序都不尽相同
- 每个表格里的字段都不尽相同
- 但有一个表格3里边的字段涵盖了表格1和表格2中的所有列,当然也有一种可能就是没有一个表格字段涵盖所有其他表格的,例如新增一个表格4
Excel表格4
日期 | 省份 | 城市 | 人均收入 | 区域负责人 |
---|---|---|---|---|
2021-11 | 河南 | 郑州 | 12000 | 张三 |
2021-11 | 河南 | 洛阳 | 5605 | 张三 |
2021-11 | 上海 | 上海 | 12328 | 李四 |
2021-11 | 江苏 | 苏州 | 8900 | 李四 |
2021-11 | 江苏 | 南京 | 9640 | 李四 |
各个Excel表格字段对比
表格1字段 | 表格2字段 | 表格3字段 | 表格4字段 |
---|---|---|---|
省份 | 日期 | 日期 | 日期 |
城市 | 省份 | 省份 | 省份 |
日期 | 城市 | 城市 | 城市 |
人口 | 城市等级 | 城市等级 | 人均收入 |
人口 | 人口 | 区域负责人 | |
人均收入 |
现在的需求是把4个表格快速的合并为1个表格,但如上表格、没有统一的一个表格中的字段涵盖了所有表格,每个表格的字段顺序都不一样,so FKU。。。。。 😄哈哈哈哈
实现4个表格的逻辑主要如下:
- 找出所有表格的字段名字并去重
- 循环每个表格,第一步获取到的字段名称如果在当前循环的表格不存在、则创建字段并赋值为空
对,就2步…
1 | # 根据文件所在目录,获取所有DF的key和数据 |
合并之后的表格效果如下