获取用户列表为空_如何只获取某目录下所有文件夹的名(不含文件和子目录)

今天想把之前发布的Power BI的示例文件文件夹做一个表出来,只获取该文件夹下的所有文件夹的名,并不包含其中各种文件和子目录。

2be18feaf7bdc2e3aa4454339f737f70.png

因为每个文件夹中都包含多个文件,甚至还有子文件夹:

a209a5de7db4a9c92596cd2bf74e4fe6.png

所以如果直接用“从文件夹获取数据”的方式,PowerQuery会使用Folder.Files函数:

60b4a6cfd53ecc8118cc248cf824df54.png

Folder.Files会将所选目录下所有文件的路径罗列出来:

7e8a94a96ba306456ba2c604cddc5438.png

当然,其实可以通过一系列pq操作将文件夹的名都筛选出来,实现我的目的。

不过,这样其实有个小问题,如果有一些文件夹我还没有在里面保存文件,也就是空文件夹,那么它就不会出现在列表中:

d527dc87148b7e90482473f915f803e3.png

而且,其实用字符串多步骤切割的方法,一是很繁琐, 二是容易后续出问题。

我觉得应该会有个稍微简单点的操作。

查了一下PowerQuery的document发现,针对Folder的操作,除了Folder.Files,还有一个Folder.Contents:

7880446241abbda740b5ab0befde80e8.png

以下是Folder.Contents的说明:

28ba1e7925dcda6b642467670e2e92f9.png

这个就比较好了。它只返回所选的目录下的文件夹名和文件名,并不会返回子文件夹下的文件。

所以,我们将Folder.Files替换成Folder.Contents:

8e54110307e43fd53f9c4a384013e780.png

这样我们就得到了根目录下的所有文件夹名,和文件名。尤其是,空文件夹这里也出现了。

接下来就是从列表中只返回文件夹的名。

有同学会说,文件夹没有拓展名,而文件都是有拓展名的,所以只要筛选extension这里为空就可以:

59cfb1c58e03d3b7726fc05aca2abb33.png

不过,这种说法显然漏掉了一种情况:

082a4cdfd4eb54ccc252b82d3f7c9321.png

如果根目录下还有一个无拓展名的文件,那么,仅仅筛选extension为空的话,就会多余一行数据:

9e6db43fd00575985a81f8d9b2215ea1.png

所以需要其他办法,展开attribute选择directory:

7304f700c272d043b690a0e2b5dcdaa0.png

点击确定后:

a26807689c2f6577149cca1161db1c99.png

再筛选TRUE的行:

dacd25539d8e4376f5c0b240439be78b.png

意思是查看属性,然后筛选那些是“目录”的行。

这样,就将该文件夹下的所有子文件夹的名获取到了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值