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

Power BI如何为文件夹导入的每个CSV文件自动创建独立查询?

为文件夹中每个CSV生成独立查询的方法
  • 先完成文件夹导入的基础操作

    1. 打开Excel,点击「数据」>「获取数据」>「从文件」>「从文件夹」,选择存放CSV的目标文件夹
    2. 在弹出的对话框里点击「转换数据」,进入Power Query编辑器,此时会得到一张包含所有CSV文件信息的表
  • 用M代码批量生成独立查询
    在Power Query编辑器顶部点击「高级编辑器」,把原有代码全部替换成下面的内容:

    let
        源 = Folder.Files("你的文件夹完整路径"),
        筛选CSV文件 = Table.SelectRows(源, each [Extension] = ".csv"),
        逐个加载CSV = List.Transform(筛选CSV文件[Name], (文件名) => 
            let
                文件完整路径 = Table.SelectRows(筛选CSV文件, each [Name] = 文件名)[Folder Path]{0} & 文件名,
                加载数据 = Csv.Document(File.Contents(文件完整路径), [Delimiter=",", Encoding=1252, QuoteStyle=QuoteStyle.Csv])
            in
                加载数据
        ),
        配对文件名与数据 = List.Zip({筛选CSV文件[Name], 逐个加载CSV}),
        创建独立查询 = List.ForEach(配对文件名与数据, (查询项) => 
            let
                查询名称 = Text.BeforeDelimiter(查询项{0}, ".csv"),
                查询内容 = 查询项{1}
            in
                Excel.CurrentWorkbook(){[Name=查询名称]}?=null try 查询内容 otherwise null
        )
    in
        源
    

    注意:把代码里的"你的文件夹完整路径"换成实际路径,比如"D:\工作文件\CSV数据源"

  • 按需调整CSV参数
    如果你的CSV用了非默认的分隔符或编码,修改Csv.Document里的参数即可:

    • 分隔符:把Delimiter=","改成对应符号,比如制表符用Delimiter="#(tab)"
    • 编码:UTF-8编码改成Encoding=65001,GB2312改成Encoding=936

替换代码后点击「完成」,回到Excel的「查询和连接」面板,就能看到每个CSV对应的独立查询了,右键查询选择「加载到」即可导入到工作表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 10:58:28