pdf里的表格数据也能轻松汇总了!

2021-08-31 10:37:14 浏览数 (1)

小勤:我们每天都能收到供应商推送的pdf格式的燃油价格文件,怎么能方便地整合到一起做数据分析啊?

大海:现在Power BI支持pdf文件的数据导入了,所以非常方便啊。

- 1 - 单文件的导入

大海:其实,从pdf导入数据的总体操作跟从Excel导入是基本一样的。比如,我们先看一下从一个文件导入的情况:

这时,我们可以看到,打开pdf文件会得到(每页)2个内容选择项,一个是Table类,即表格,一个Page类,即全部页面内容,如下图所示:

小勤:每页都这样?为什么要这么分呢?

大海:对的。因为很多时候你可能只要其中的表格,这样直接读取就方便一些;而有时候你不仅需要其中的表格,还需要一些其他相关内容,这时候就要从Page页面文件中读取数据。这里,我们仅从表格中读取数据,所以勾选表格的数据后,单击“编辑”按钮。

小勤:识别出来的表格怎么跟我们想要的不太一样啊?第二列的内容放到一个新列里面去了。

大海:对的,这应该跟Power BI判断表格的标准有一定关系,所以我们还要整理一下。选中价格列及新增的Column3列,然后合并,如下图所示:

最后,修改一下合并后的数据类型:

小勤:这个操作倒简单,都是Power Query里面的基础知识。

大海:对的。Power BI的数据整理过程主要都是Power Query的知识应用而已。

- 2 - 多文件批量导入

小勤:那要批量导入多个pdf文件并整合,那该怎么办呢?

大海:还记得批量导入多个Excel文件并整合是怎么做的吗?

小勤:知道啊。你在文章《批量汇总Excel工作簿多表数据,结合CELL函数实现动态化数据源及需要注意的Formula.Firewall问题》里讲得很清楚的,简单来说就是从文件夹导入,然后用Excel.Workbook函数解析出数据,就可以合并了。

大海:那我们看一下这里读取pdf数据是生成的步骤里用了什么函数?

小勤:Pdf.Tables?

大海:对的。所以,对于Excel文件,使用Excel.Workbook进行数据解析,那么,对于pdf文件来说,就用Pdf.Tables来解析即可。

小勤:明白了,数据解析出来后,就可以对其中的表或页面内容进行筛选、整理了。

大海:嗯。所以,这里多个pdf文件的整合,也就比较简单了:

Step 01 从文件夹获取数据

Step 02 用Pdf.Tables函数解析文件内容

Step 03 展开数据并筛选所需类型数据

Step 04 按需要整理数据

4.1 从文件名中提取出油价日期

4.2 删除不需要的列

4.3 合并列

4.4 通过筛选的方式去掉原来的标题行

小勤:这个不能像Excel.Workbook函数那样加参数直接识别出标题行吗?

大海:目前Pdf.Tables函数是不支持这样的参数的,希望将来更加完善。

4.5 最后我们直接修改一下列名即可:

小勤:嗯。这样整合pdf文件的数据参与分析就方便多了。另外,如果是从page页面文件读取数据,要怎么整理?

大海:这就要看具体读出来的内容是什么样子的了。我们从前面可以看到,即使是针对page页面文件形式,读出来的仍然是一个表,也就是说,Pdf.Tables解析出来的文件,其实是根据一些分隔符(如空格)对文件内容进行分割,放入到一个表的不同行列单元格里,最终形成一张大表,然后要怎么整理就看实际需要了。

小勤:大概理解了,那如果想将pdf的内容导入Excel里呢?该怎么办?好像Excel里没的Power Query还没有导入pdf的功能啊!

大海:对的,Excel里还没有。所以如果想要实现自动化的导入的话,需要想其他办法。这个后面我们再讲。

0 人点赞