我想从Azure函数中的python代码读取存储在Azure Blob存储中的numpy数组。我无法做到。我尝试使用BlockBlobService,但无法成功。
正在寻求帮助/建议。
答案 0 :(得分:0)
简单的解决方案是使用适用于Python的Azure存储SDK将blob内容下载到内存中,然后使用函数numpy.frombuffer
将blob的内存内容作为一维数组加载并连续执行任何您想要的操作,例如reshape
。
作为参考,有一个与您的线程相同的SO线程numpy.load from io.BytesIO stream,我回答了三个示例代码,用于从blob加载npy
或npz
格式的内容。
如果要从Azure Blob存储读取csv / json文件,还可以生成带有sas令牌的blob URL,然后使用函数pandas.read_csv
或pandas.read_json
并使用url参数为<blob url with sas token>
可以直接将csv或json格式的内容作为pandas数据框读取,然后将其转换为numpy数组。