Power Automate如何将文本表格转数组并筛选近一周新账户
处理Power Automate中提取的用户账户文本并筛选近一周新账户的解决方案
你猜测的方向是对的,必须把提取的纯文本表格转换成结构化数组,才能对创建日期进行筛选。以下是具体操作步骤:
步骤1:清理原始文本,提取有效数据行
添加一个Compose操作,输入以下表达式,目的是去掉表头、分隔线和空行,只保留用户数据行:
filter( split(variables('extractedUserText'), decodeUriComponent('%0A')), not(contains(item(), 'UID')) and not(contains(item(), '---')) and not(empty(item())) )
注:extractedUserText替换成你存储提取到的文本的变量名
步骤2:将每行文本转换为结构化对象
添加一个Select操作,选择上一步Compose的输出作为输入集合,然后在映射中配置三个字段:
- UID:
first(filter(split(item(), ' '), not(empty(item())))) - Creation Time:
join(take(skip(filter(split(item(), ' '), not(empty(item()))), 1), 2), ' ') - User:
last(filter(split(item(), ' '), not(empty(item()))))
这个操作会把每行纯文本转换成包含UID、创建时间、用户名的对象数组。
步骤3:筛选过去一周内创建的账户
添加一个Filter Array操作,选择上一步Select的输出作为输入集合,设置筛选条件:
greaterOrEquals(parseDateTime(item()?['Creation Time']), addDays(utcNow(), -7))
这个条件会保留创建时间在最近7天内的账户对象。
额外注意事项
- 如果你的文本中存在不规则空格(比如制表符),可以把
split(item(), ' ')替换成split(item(), decodeUriComponent('%09'))(针对制表符分隔的情况) - 如果日期解析失败,可在
parseDateTime中指定格式:parseDateTime(item()?['Creation Time'], 'yyyy-MM-dd HH:mm:ss')
内容的提问来源于stack exchange,提问作者James Gaudet
相关产品推荐
相关产品推荐

