前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分享一个批量汇总合并文件的程序

分享一个批量汇总合并文件的程序

作者头像
btharp
发布2022-12-01 10:14:15
7720
发布2022-12-01 10:14:15
举报
文章被收录于专栏:PowerBI x Python

一、场景需求

假设手上有4个格式类似的文档,每个文档里均包含销售、成本、人工这3张工作表。我们需要分别对这三张表进行合并,结果如下。

二、可能遇到的问题

如果每个表的格式规范,这种场景需求比较容易解决。比如用Excel 、Power BI里的Power Query,或VBA, 或WPS的付费功能,或第三方插件如方方格子等。但实操中,手工Excel表往往有各种各样的特殊情况。这里罗列了其中几种:

  1. 工作表名不一致,比如A文档里叫【销售】,B文档里叫【销 售】或【Sales】;
  2. 每个文档要分别汇总多个工作表
  3. 字段名称不一致,比如A文档里叫【销量】,B文档里叫【件数】;
  4. 字段位置不一致,比如A文档的【单价】在C列,而B文档里在D列;
  5. 起始行位置不一致,这种在销售订单里非常常见,由于表头信息的存在,导致A文档的字段名从第6行开始,而B文档从第9行开始;
  1. 还有极少数情况下,需要汇总的文档包含了excel,csv,txt这几种不同的格式。

三、解决方案

以上这些问题,通过熟练的VBA、PQ技术,或者多种工具搭配,都能解决。无论使用何种方式,在处理工作表名、字段名的不一致问题时,都需要建立一张辅助的对照关系表,将各种不同情况,映射到统一情况中,如下图所示:

我专门针对这几种情况,开发了一款小软件。通过建立相应的对照关系规则表,只需三步,即可实现批量汇总不规范格式的文档。

  1. 选择规则表
  2. 选择要合并汇总的文件
  3. 选择合并方式

软件提供了3种合并方式:按列的位置、按列名称和按自定义规则(即规则表)。

四、规则表说明

规则表文档有三个工作表:

  1. 【提取sheet】 该表记录合并文档的工作表的名称对照关系。如下图所示,原始文档中,名为【销售】、【销 售】或【Sales】的工作表,都将汇总到最终文档的【销售】工作表里。如果一个原始文档里,同时具有【销售】和【Sales】,则依据规则表里上下关系,优先取上方的名称(即取【销售】)。

2.【提取字段】

同上,该工作表用于记录字段名称的对照关系。如下表所示,【销售】表中,【销量】和【件数】,都会汇总在同一列:【销量】。下表的A列,用于标记字段所在的统一表名。

3.【开始行】

该表用于处理起始行的问题。假如需要汇总的表都从第一行开始,则【首行位置】填1。如果不是第一行,则填起始行所共有的一个字符。比如说,每个表,起始行,都有一个文本叫【产品型号】,则填产品型号。那么,程序就会扫描识别到,每个文档,首个包含【产品型号】的单元格所在的行,并以那行开始往下读取。支持部分包含,即可以只填【型号】,那么将会找到第一个包含【型号】的单元格所在的行。

五、软件获取方式

关注本公众号,发消息【批量汇总】,即可获取下载链接。程序约80M,免安装,解压即用。解压后,打开【dist】文件夹,双击深蓝色图标即可。结果输出到同文件夹下【结果】文件夹中。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PowerBI x Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档