Power Automate Desktop如何将列表转换为数据表并拆分列
问题描述
我在Power Automate Desktop中从PDF读取了一些文本,格式如下:
0 | 123 Testing Company 23.00 1 | Generation Z Co 555.11 2 | Tea Company 1,234.99
需要将该列表拆分为多列,让每个元素末尾的金额单独成列,目标格式如下:
0 | 123 Testing Company | 23.00 1 | Generation Z Co | 555.11 2 | Tea Company | 1,234.99
尝试过使用extract tables from PDF功能,但PAD无法识别其为表格,返回的数据不正确,想知道有没有方法实现列表到数据表的转换?
解决方案
可以通过正则提取+循环构建数据表的方式实现,具体操作步骤如下:
初始化目标数据表
创建一个新的数据表,添加三列:序号、公司名称、金额,对应最终需要的三列结构。遍历处理每一行文本
假设从PDF读取的文本已存储为列表变量PDF文本列表,循环遍历列表中的每一行:- 用
Split操作按|拆分当前行,拆分后取第一部分作为序号,第二部分去除首尾空格后得到待处理内容(比如拆分0 | 123 Testing Company 23.00后,序号为0,待处理内容为123 Testing Company 23.00)。 - 对
待处理内容使用正则表达式提取末尾金额,正则表达式用(\d{1,3}(,\d{3})*\.\d{2})$,该表达式可匹配带千分位、两位小数的金额格式,提取结果即为金额列的值。 - 用
Replace操作将待处理内容中的金额部分替换为空,再去除首尾空格,得到公司名称列的值。
- 用
将数据写入数据表
将拆分得到的序号、公司名称、金额作为一行,添加到初始化好的数据表中。可选:列对齐美化
如果需要让公司名称列视觉上对齐,可以先遍历所有行找出最长的公司名称长度,再对每个公司名称补充空格至该长度,最后写入数据表即可。
内容的提问来源于stack exchange,提问作者machump
相关产品推荐
相关产品推荐

