有什么方法可以在python中的Azure Blob存储中读取numpy数组吗?

时间:2019-09-04 14:43:33

标签: python azure-functions azure-storage-blobs numpy-ndarray

我想从Azure函数中的python代码读取存储在Azure Blob存储中的numpy数组。我无法做到。我尝试使用BlockBlobService,但无法成功。

正在寻求帮助/建议。

1 个答案:

答案 0 :(得分:0)

简单的解决方案是使用适用于Python的Azure存储SDK将blob内容下载到内存中,然后使用函数numpy.frombuffer将blob的内存内容作为一维数组加载并连续执行任何您想要的操作,例如reshape

作为参考,有一个与您的线程相同的SO线程numpy.load from io.BytesIO stream,我回答了三个示例代码,用于从blob加载npynpz格式的内容。

如果要从Azure Blob存储读取csv / json文件,还可以生成带有sas令牌的blob URL,然后使用函数pandas.read_csvpandas.read_json并使用url参数为<blob url with sas token>可以直接将csv或json格式的内容作为pandas数据框读取,然后将其转换为numpy数组。