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

Power Query如何添加包含源文件名的自定义列?

在Power Query中添加源文件名作为自定义列的方法

完全可行,以下是针对不同导入场景的具体实现方式:

场景1:导入单个本地文件时添加文件名

如果是直接导入单个本地文件,需要先获取文件路径信息,再提取文件名或直接使用完整路径:

  1. 先在查询开头定义文件路径变量,后续自定义列直接引用该变量:
let
    FilePath = "C:\你的文件路径\目标文件名.xlsx",
    Source = Excel.Workbook(File.Contents(FilePath), null, true),
    // 这里替换为你已有的步骤(比如Changed Type1)
    #"Changed Type1" = Table.TransformColumnTypes(Source, ...),
    // 添加自定义列,使用完整路径
    #"Added Custom" = Table.AddColumn(#"Changed Type1", "Filename", each Text.From(FilePath))
in
    #"Added Custom"

如果只需要提取文件名(不含路径),可以用Text.AfterDelimiter函数从路径中截取:

#"Added Custom" = Table.AddColumn(#"Changed Type1", "Filename", each Text.AfterDelimiter(FilePath, "\", {0, RelativePosition.FromEnd}))

场景2:从文件夹批量导入文件时添加文件名

如果是通过「从文件夹」功能批量导入多个文件,Power Query会自动生成包含文件信息的列,直接复用即可:

  • 导入文件夹后,默认会生成Name(纯文件名)、Full Path(完整路径)等列
  • 展开文件内容后,可直接在自定义列中引用这些字段:
#"Added Custom" = Table.AddColumn(#"Changed Type1", "Filename", each [Name])

若需要从完整路径提取文件名,同样使用Text.AfterDelimiter:

#"Added Custom" = Table.AddColumn(#"Changed Type1", "Filename", each Text.AfterDelimiter([Full Path], "\", {0, RelativePosition.FromEnd}))

补充说明

  • 如果是导入Excel内部表格/区域的数据(无外部文件关联),则无法获取外部文件名,因为数据本身不绑定外部文件路径
  • Text.AfterDelimiter的第三个参数{0, RelativePosition.FromEnd}用于定位最后一个反斜杠,确保准确截取文件名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 01:45:36