从多个 pdf 表单中提取数据,转换为 PBI/PQ 的可行格式?

Posted

技术标签:

【中文标题】从多个 pdf 表单中提取数据,转换为 PBI/PQ 的可行格式?【英文标题】:Pulling data from multiple pdf forms, into workable format for PBI/PQ? 【发布时间】:2021-10-12 02:35:12 【问题描述】:

我有一组完整的 pdf 表格,我需要从中提取数据并进行一些分析。

我使用了 acrobat 的“合并到 excel”功能,它会生成一张表格,其中每个问题对应一行,每个文件对应一列单独的回复。

这种格式已被证明难以分析,因此在过去我手动移动了数据,因此所有响应都在一个列中,以便能够将其绘制成图表/放入数据透视表等。

图像描述:示例演示数据从 pdf 合并时的外观(表 A)以及我手动重新格式化后的数据外观(表 B)。

现在,这不是一个特别优雅的解决方案,但到目前为止,它对于我们的目的来说工作正常。但是,我们的数据量即将从六个文件增加到大约 100 个,所以我真的不想处理必须手动重新格式化该卷中的数据。

我知道我可以在这种情况下使用一些 VBA 来自动重新格式化数据,但是我觉得这根本没有必要 - 我应该能够处理数据使用电源查询以现有格式...但是我只是不知道如何使这项工作。

谁能向我解释如何以可用于 PBI(或 power pivot)的方式从表 A 中获取数据?或者,如果这在某个地方我没有设法通过谷歌搜索我自己的方式来实现...

非常感谢。

【问题讨论】:

拥有混合数据类型的列往往难以处理。根据各种因素,最好转置表格,以便单独的问题位于单独的列上。 (只是一个想法。可能不是您的情况的最佳方法。) 【参考方案1】:

将数据加载到powerquery [Data ... from table source]

右键单击第一列并取消透视其他列

根据需要重命名列、排序、重新排列列等

文件...关闭并加载到...

唯一的问题可能是日期列的格式,因为值列是混合类型

let Source = Excel.CurrentWorkbook()[Name="Table1"][Content],
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, "Column1", "Attribute", "Value"),
#"Renamed Columns" = Table.RenameColumns(#"Unpivoted Other Columns","Column1", "Question", "Attribute", "Location", "Value", "Response")
in  #"Renamed Columns"

【讨论】:

这对你有用吗?

以上是关于从多个 pdf 表单中提取数据,转换为 PBI/PQ 的可行格式?的主要内容,如果未能解决你的问题,请参考以下文章

从 PDF 中提取绘图

从 PDF 表单中提取 PDF 表单字段名称

从 PDF 中提取 xdp 或 xfa

PDF Squeezer

java中将表单转换为PDF

如何从Java中提取PDF文件中的表格数据