【发布时间】:2020-10-29 04:59:42
【问题描述】:
无论如何在 numpy 中加载/读取外部文件(即 AWS S3)?我有几个 npy 文件存储在 S3 中。我尝试通过 S3 预签名 url 访问它们,但似乎 numpy.load 方法或 np.genfromtxt 都无法读取它们。
我不想在本地文件系统上保存文件,然后在 numpy 上加载它们。
有什么想法吗?
【问题讨论】:
-
当然你需要一些额外的层来完成所有的网络协议工作! Numpy 的 IO 可能仅设计用于基于文件的 IO。在 Python3 中,你可以试试
import request; import BytesIO; request = requests.get(url); np.load(BytesIO(request.content))。 -
当然,我的 sn-p 假设 S3-link 是公共的,无需身份验证。我不知道是不是这样。如果没有,您将需要一些库来执行此身份验证来访问文件!
-
你能用
requests读取文件吗? -
您好,无法阅读。最后,我使用了使之成为可能的 spark textFiles。谢谢!!