Power Query调用Folder.Files导入文件遇空子文件夹报错如何解决
修复空文件夹导致Folder.Files查询中断的方案
可直接使用的完整代码
let // 替换为你的根文件夹路径 RootPath = "\\super secret ninja project..", // 读取根目录下所有条目,仅筛选文件夹类型,不会因空文件夹报错 AllFolders = Folder.Contents(RootPath, [CreateNavigationProperties=false]), FilterOnlyFolders = Table.SelectRows(AllFolders, each [Item Kind] = "Folder"), // 逐个尝试读取文件夹内的文件,遇到错误返回空值 AddFileList = Table.AddColumn(FilterOnlyFolders, "FileContent", each try Folder.Files([Folder Path]) otherwise null), // 过滤掉读取失败的文件夹(空文件夹/无权限文件夹都会被剔除) FilterValid = Table.SelectRows(AddFileList, each [FileContent] <> null), // 展开所有有效文件夹下的文件信息,可根据自己的需求调整保留的字段 ExpandAllFiles = Table.ExpandTable(FilterValid, "FileContent", {"Name", "Extension", "Date modified", "Date created", "Full Path"}, {"File Name", "File Extension", "Modified Time", "Created Time", "Full Path"} ) in ExpandAllFiles
核心逻辑说明
- 拆分原始的全路径一次性扫描逻辑为两步:先获取所有子文件夹路径,再逐个扫描文件夹内容
- 用
try...otherwise语法捕获单个文件夹的读取异常,异常项直接返回空值,不会中断整个查询 - 自动过滤所有无法正常读取的文件夹,无需手动删除空文件夹,后续新增的空文件夹也会被自动忽略
内容的提问来源于stack exchange,提问作者Emmet Mc
相关产品推荐
相关产品推荐

