Tips & Tricks

如何将 PDF 表单回复导出到结构化 CSV 文件中

每个PDF 表单提交都将其字段值存储在文档中。当您完成一份表格后,阅读屏幕上的这些值就足够了。当您有五十或五百个完整的表格时,手动将每个回复转录到电子表格中会浪费时间并引入错误。将表单响应导出到结构化 CSV 文件中,可将单个 PDF 提交转换为单个可排序、可过滤的数据集,可以对其进行分析、导入到数据库或合并到报告中。

导出过程取决于所有受访者是否填写了相同表格、不同表格或混合表格。来自多个受访者的相同表单会生成一个干净的表格,其中每一行都是一个提交,每一列都是一个表单字段。混合表单需要更多处理,因为不同文档的字段名称不同。本指南涵盖三种最常见的导出工作流程:用于相同表单的 Adobe Acrobat Pro、用于基于浏览器的快速导出的在线工具以及用于自动化数据管道的脚本方法。

WukongPDF 的PDF 到 Excel 转换器可将 PDF 中的表格数据提取为电子表格就绪格式。特别是对于表单数据,将导出 FDF 或 XFDF 的 PDF 编辑器与 CSV 转换步骤配对,可为您提供最可靠的提取管道,而无需编程技能。

How to Export PDF Form Responses Into a Structured CSV File

PDF 表单数据如何存储

可填写的 PDF 表单使用存储用户输入值的命名字段。每个字段都有一个唯一的名称,例如 FirstName、EmailAddress 或 DepartmentChoice。当用户填写表单并保存时,这些字段值对将被写入 PDF 的内部数据结构中。这些值与可视页面内容是分开的,这就是为什么即使从文本似乎是页面一部分的表单中也可以通过编程方式提取表单数据。

表单数据格式 (FDF) 和 XML 表单数据格式 (XFDF) 是交换 PDF 表单数据的两种标准格式。 FDF 是较旧的二进制格式; XFDF 基于 XML,更易于使用标准工具进行解析。当您从 PDF 导出表单数据时,该工具会读取字段值对并将其写入 FDF 或 XFDF 文件,或将它们直接转换为分隔文本格式(如 CSV 或制表符分隔值)。

WukongPDF

尝试 PDF 转 Excel

无需安装。直接在您的浏览器中工作。

立即开始 →

方法 1:使用 Adobe Acrobat Pro 导出响应数据

Acrobat Pro 提供最完整的表单数据导出工具包。在 Acrobat Pro 中打开已完成的 PDF 表单。转到“工具”面板并选择“准备表单”。在右侧窗格中,单击更多下拉列表并选择导出数据。 Acrobat 会提示您选择格式。选择 XML 文件 (*.xml) 作为 XFDF 输出,这是最容易稍后转换为 CSV 的。选择文本文件 (*.txt) 作为制表符分隔的输出,直接导入到大多数电子表格应用程序中。

要批量处理同一表单的多个副本,请使用合并数据文件功能。将所有已完成的 PDF 放在一个文件夹中。在 Acrobat Pro 中,转到“工具”、“准备表单”,单击“更多”,然后选择“将数据文件合并到电子表格中”。单击“添加文件”,选择所有已完成的 PDF,然后单击“导出”。 Acrobat 将所有回复编译到一个 CSV 文件中,其中每个 PDF 成为一行。当您多次提交相同的表单模板时,这是最快的内置方法。

输出 CSV 的质量取决于所有提交的 PDF 中一致的字段命名。如果一名受访者填写了一份 PDF,其中电子邮件字段名为“电子邮件”,而另一名受访者填写了一个名为“电子邮件地址”的版本,则合并过程会创建两个单独的列,而不是将数据合并为一列。在分发之前标准化表单模板,以避免最终数据集中出现列碎片。

方法 2:使用在线 PDF 到 CSV 导出工具

一些在线服务接受上传的 PDF 表单并返回包含提取的字段数据的 CSV 文件。您上传完成的 PDF,该服务会识别可填写的字段并读取其值,然后您下载 CSV。这些工具最适合包含少于 30 个字段且没有复杂字段类型(如多选列表框或级联下拉列表)的简单表单。复选框值通常导出为“是”或选中,具体取决于表单作者配置导出值的方式。

在线工具在其免费套餐中一次处理一种表格。对于批量导出,Acrobat Pro 的效率要高得多,因为它可以在一次操作中处理多个文件。如果您只有一两个表格要导出并且不想安装软件,则在线工具可以在一分钟内完成工作。在关闭浏览器选项卡之前确认导出的 CSV 包含所有预期列,并立即下载 CSV,因为大多数免费在线服务不存储已处理的文件。

方法 3:自动化工作流程的脚本化提取

如果您定期收到 PDF 表单提交,例如每周员工时间表或每日患者入院表格,则编写提取过程脚本可以完全消除手动步骤。 PyPDF2、pdfrw 和 pikepdf 等 Python 库可以从 PDF 文档读取表单字段值。基本提取脚本会打开一个 PDF 文件夹,从每个 PDF 中读取字段值字典,然后将一行附加到 CSV 文件中。

使用 pdfrw 库的 Python 脚本大约需要 20 行代码才能将已完成表单的文件夹处理为 CSV。该脚本定义了预期字段名称的列表,迭代每个 PDF,查找每个字段,并将值写入 CSV,其中标题与字段名称匹配。按计划运行脚本或在新的 PDF 到达监视文件夹时触发它。此方法可将提交数量从 10 份扩展到 10,000 份,而无需增加任何手动工作量。

处理导出数据中的特殊字段类型

行动输出格式何时使用
导出表单数据 (Acrobat)FDF、XFDF、XML、TXT单独表格,一次性导出
合并数据文件 (Acrobat)CSV(通过电子表格应用程序)多个相同表格,批量导出
在线PDF工具CSV 下载基于浏览器的工作流程,无需安装
Python脚本CSV、JSON、数据库自动化管道,定期导出

单选按钮组在导出过程中值得特别注意。具有三个选项的单选按钮组(包含 CreditCard、PayPal 和 BankTransfer 值的 PaymentMethod)导出为名为 PaymentMethod 的单个列,其中包含所选的值。如果未进行选择,则该单元格为空。对于下拉列表,导出的值是选择文本或导出值(如果在字段属性中指定了)。多选列表框将所有选定值导出为分号分隔或逗号分隔的字符串,您可能需要在后处理期间将其拆分为单独的列。

复选框字段的导出方式因 PDF 阅读器而异。一些读者将选中的框导出为“是”,将未选中的框导出为“关闭”。其他人将复选框导出为字段的导出值,通常是数字或代码。在处理批次之前,导出单个测试表单并检查 CSV 输出以确认每个字段类型如何映射到导出的数据。这种一分钟的检查可以防止以后数小时的数据清理。

将表单响应导出到 CSV 将 PDF 提交从可视格式转换为可操作的数据。您选择的方法取决于您的音量和技术舒适度。对于偶尔的单一表单,Acrobat Pro 的导出数据就足够了。对于每周批处理,设置一次脚本并让它自动处理以后的每个批次。

防止常见导出错误

在表单数据导出期间,有几个问题可能会损坏 CSV 输出。如果字段值包含逗号,CSV 解析器可能会错误地将该值拆分到多个列中。大多数导出工具将包含逗号的值用双引号括起来以防止出现这种情况,但并非所有工具都会这样做。在将 CSV 导入电子表格应用程序之前,请在文本编辑器中检查您的 CSV。如果值分割不正确,请使用制表符分隔符而不是逗号重新导出,或使用 XFDF XML 格式并使用正确处理特殊字符的工具转换为 CSV。

空字段是另一个常见的混乱来源。如果受访者将某个字段留空,则该字段的导出 CSV 单元格就是空的。在批量合并多个表单时,行中间出现空单元格是正常现象,并不表示导出失败。如果您需要区分真正留空的字段和表单中根本不存在的字段,请直接检查 PDF,而不是依赖 CSV 输出来区分这两种情况。

对于具有超出简单字段值对的提取 PDF 数据要求的表单(例如从扫描的纸质表单中提取复选标记),基于 OCR 的提取是必要的,而不是直接字段数据导出。底层技术从读取命名字段转向分析视觉标记,其精度上限较低,需要手动验证。

在下游系统中使用 CSV 输出

一旦 PDF 表单数据采用 CSV 格式,下游集成选项就会显着扩展。将 CSV 导入 Excel 或 Google Sheets 进行数据透视表分析。将其上传到 CRM 以更新联系人记录。将其输入 Python pandas 脚本中进行统计分析。将其加载到 SQL 数据库中,以便与其他数据集一起查询。 CSV 格式是通用连接器,可将静态 PDF 表单提交转换为实时、可查询的业务数据。在原始表单模板中记录您的字段命名约定,以便几个月后处理 CSV 的任何人都可以确切地知道每列代表什么,而无需打开单独的 PDF 进行参考。

WukongPDF

尝试 PDF 转 Excel

无需安装。直接在您的浏览器中工作。

立即开始 →