You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Power Query处理列数不同的PDF文件并转换为CSV

解决Power Query多PDF表格列数不一,统一为文本+金额两列的方案

操作步骤

1. 批量导入文件夹内PDF

打开Excel,走「数据」→「获取数据」→「从文件」→「从文件夹」,选目标文件夹后点「转换数据」进入Power Query编辑器。

2. 提取所有PDF的表格数据

添加自定义列,输入公式:

=Table.FromRecords(Pdf.Tables([Content])[Data])

点击该列右侧的展开按钮,选择「展开到新行」,将所有PDF的表格数据合并——此时列数混乱、空单元格较多属于正常现象。

3. 清理数据+逆透视统一结构

  • 删除空列:右键列名选择「删除」,或者通过「转换」→「删除列」→「删除空列」批量清理。
  • 选中所有列,点击「转换」→「逆透视列」→「逆透视其他列」。这一步会把分散在多列的内容转成「属性」和「值」两列,所有文本、金额都会归集到「值」列中。

4. 拆分文本与金额列

  • 添加自定义列判断内容是否为金额,公式:
=try Value.Is(Value.FromText([Value]), type number) otherwise false

将该列命名为「是否金额」。

  • 筛选「是否金额」为true,把「值」列重命名为「金额」;再筛选false,把「值」列重命名为「文本」。
  • 给两个表都添加「索引」列(「添加列」→「索引列」),然后按索引合并两个表——确保每一行文本对应一行金额。

5. 收尾导出CSV

删除无用列(如「属性」「是否金额」「索引」),检查数据对应无误后,点击「关闭并上载」→ 选择「仅创建连接」,右键连接→「加载到」,选择CSV格式完成导出。

小技巧

如果PDF内是严格的「文本列+金额列」交替排列(如列1文本、列2金额、列3文本...),无需写判断公式,直接给逆透视后的表加索引,用Number.Mod([索引],2)=0标记金额行,操作更高效。

内容的提问来源于stack exchange,提问作者bjr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 01:11:17