[英]To get only list of subfolder names in Directory in Azure Data Lake using Python
I have data in Azure data lake container named infaqa and directories in infaqa as below path: `infqa/EIM//Sales/Raw/APXTConga4__Composer_Setting__mdt, infqa/EIM//Sales/Raw/Account etc.我在名为 infaqa 的 Azure 数据湖容器中有数据,在 infaqa 中的目录如下路径:`infqa/EIM//Sales/Raw/APXTConga4__Composer_Setting__mdt、infqa/EIM//Sales/Raw/Account 等。
I am using Azure notebooks and libraries like blobserviceclient to list blobs
, but I see all list of sub folders and sub sub folders keep listing.我正在使用 Azure 笔记本和库(如
blobserviceclient to list blobs
,但我看到所有子文件夹和子子文件夹列表都在不断列出。 Where as I am looking for only subfolder names in a list like ['APXTConga4__Composer_Setting__mdt','Account'...]
from the output which is showcased below因为我只在下面展示的输出中寻找像
['APXTConga4__Composer_Setting__mdt','Account'...]
这样的列表中的子文件夹名称
Input:
blobPrefix = "/EIM/Sales/Raw/"
mylist=[]
objects=[]
blob_list = container_client.list_blobs(blobPrefix)
for blob in blob_list:
mylist.append(blob.name)
print(blob.name)
Ouptut:
EIM/Sales/Raw/APXTConga4__Composer_Setting__mdt
EIM/Sales/Raw/APXTConga4__Composer_Setting__mdt/2020
EIM/Sales/Raw/APXTConga4__Composer_Setting__mdt/2020/12
EIM/Sales/Raw/APXTConga4__Composer_Setting__mdt/2020/12/02
EIM/Sales/Raw/Account
EIM/Sales/Raw/Account/2020
EIM/Sales/Raw/Account/2020/12
EIM/Sales/Raw/Account/2020/12/02
Try with this solution ,I tried in my system尝试使用此解决方案,我在我的系统中尝试过
I have folder structure like where test
container and account
is folder我有文件夹结构,比如
test
容器和account
是文件夹
1)test/account/main/sub1/
2)test/account/test1/sub2
3)test/account/test2/sub3
from azure.storage.blob import BlobServiceClient
import os
source_key = 'Key'
source_account_name = 'Account Name'
block_blob_service = BlobServiceClient(
account_url=f'https://{source_account_name}.blob.core.windows.net/', credential=source_key)
source_container_client = block_blob_service.get_container_client(
'Container name')
result=[]
allfolders=[]
generator =source_container_client.list_blobs("account")
for file in source_container_client.walk_blobs('account/', delimiter='/'):
print(file.name)
text=file.name
result.append(text)
for data in result:
allfolders.append(data.replace("account/",""))
print(allfolders)
for res in allfolders:
print(res)
OUTPUT输出
Folder structure in storage account存储帐户中的文件夹结构
Able to get all subfolder names能够获取所有子文件夹名称
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.