如何阻止Power Automate向Microsoft List写入空白行?
解决Microsoft自动化流读取CSV后向List插入空白行的问题
问题根源
你遇到的空白行问题,大概率是CSV文件末尾的换行符(\r或\r\n)被流当成了一行有效数据,而当前流没有转数组的前置步骤,所以直接进入了更新List的逻辑,导致插入空白行。
可行的解决方法
1. 读取CSV后立即过滤空行(推荐)
在读取CSV内容的步骤之后,插入三个操作来处理文本:
- 拆分换行符:用
split函数把CSV内容按换行符拆分成数组
(如果是Windows格式的CSV,换行符是split(outputs('读取_CSV_内容'), decodeUriComponent('%0A'))\r\n,可以换成decodeUriComponent('%0D%0A');也可以用判断自动适配:split(outputs('读取_CSV_内容'), if(contains(outputs('读取_CSV_内容'), decodeUriComponent('%0D%0A')), decodeUriComponent('%0D%0A'), decodeUriComponent('%0A')))) - 过滤空行:用
filter函数去掉数组里的空行或仅含空白字符的行filter(body('拆分换行符'), not(equals(trim(item()), ''))) - 重新拼接CSV:把过滤后的数组重新拼成CSV文本,传给后续步骤
join(body('过滤空行'), decodeUriComponent('%0A'))
2. 在更新List前加条件判断跳过空行
如果不想修改CSV文本的处理流程,可以在应用到每一个循环里、更新List的步骤之前,加一个条件分支:
- 条件表达式:
not(equals(trim(items('应用到每一个')?['Title']), '')) - 只有当条件成立(即Title不为空)时,才执行更新List的操作;否则直接跳过该行
3. 预处理CSV文件
如果允许修改源文件,用文本编辑器打开CSV,手动删除末尾的空行,或者在保存时关闭“保留末尾换行”的选项(比如Notepad++可在设置里调整)
额外注意
如果你的流里用到了「解析CSV」的内置动作,检查一下是否有忽略空行的勾选选项,有的话直接勾选就能解决问题。
内容的提问来源于stack exchange,提问作者xarzu
相关产品推荐
相关产品推荐

