我有许多存储为天蓝色 blob 的大型 csv(制表符分隔)数据,我想从这些数据中创建一个 pandas 数据框。我可以在本地执行以下操作:
from azure.storage.blob import BlobService
import pandas as pd
import os.path
STORAGEACCOUNTNAME= 'account_name'
STORAGEACCOUNTKEY= "key"
LOCALFILENAME= 'path/to.csv'
CONTAINERNAME= 'container_name'
BLOBNAME= 'bloby_data/000000_0'
blob_service = BlobService(account_name=STORAGEACCOUNTNAME, account_key=STORAGEACCOUNTKEY)
# Only get a local copy if haven't already got it
if not os.path.isfile(LOCALFILENAME):
blob_service.get_blob_to_path(CONTAINERNAME,BLOBNAME,LOCALFILENAME)
df_customer = pd.read_csv(LOCALFILENAME, sep='\t')
但是,在 azure ML 笔记本上运行笔记本时,我无法“保存本地副本”然后从 csv 读取,因此我想直接进行转换(类似于 pd.read_azure_blob(blob_csv) 或只是 pd .read_csv(blob_csv) 将是理想的)。
如果我首先创建一个 azure ML 工作区,然后将数据集读入其中,最后使用https://github.com/Azure/Azure-MachineLearning,我可以获得所需的最终结果(用于 blob csv 数据的 pandas 数据框)-ClientLibrary-Python将数据集作为 pandas 数据框访问,但我更愿意直接从 blob 存储位置读取。