如何在Power Query中为列内文本添加引号包裹?
在Power Query中为列值添加双引号的正确方法
原代码问题分析
你之前的代码错误在于:
Table.ReplaceValue的第二个参数使用了字符串"[FileName]",程序会去匹配单元格内的字面文本[FileName],而非引用该列的实际值- 第三个参数中的
""""""[FileName]""""""同样是将[FileName]作为固定文本处理,没有引用列的动态值
解决方案一:使用Table.TransformColumns(推荐)
这个方法直接针对整列做转换,逻辑更清晰:
= Table.TransformColumns(#"Renamed Columns", {{"FileName", each "\"" & _ & "\""}})
_代表当前行的FileName列值\"是Power Query中对双引号的转义写法,最终会为每个值前后添加双引号
解决方案二:修正Table.ReplaceValue的用法
通过each函数引用列的动态值,实现替换:
= Table.ReplaceValue(#"Renamed Columns", each [FileName], each "\"" & [FileName] & "\"", Replacer.ReplaceValue, {"FileName"})
- 第二个参数
each [FileName]表示匹配当前行的FileName列值 - 第三个参数通过函数生成带双引号的新值
Replacer.ReplaceValue用于直接替换整个单元格的值,而非替换文本片段
扩展:添加单引号
如果需要给值添加单引号,只需修改引号部分:
= Table.TransformColumns(#"Renamed Columns", {{"FileName", each "'" & _ & "'"}})
内容的提问来源于stack exchange,提问作者Alex Kibbe
相关产品推荐
相关产品推荐

