首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Watson数据平台如何解压缩数据资产中的zip文件

Watson数据平台如何解压缩数据资产中的zip文件
EN

Stack Overflow用户
提问于 2018-01-16 04:26:12
回答 1查看 1.2K关注 0票数 1

如何在Watson数据平台的数据资产中解压缩zip文件?

代码语言:javascript
运行
复制
from io import BytesIO
import zipfile

zip_ref = zipfile.ZipFile(BytesIO(streaming_body_1.read()), 'r')
zip_ref.extractall(WHICH DIRECTORY FOR THE DATA ASSETS)
zip_ref.close()

streaming_body_1是数据资产部分中的zip文件流正文对象。我将zip文件上传到数据资产。

如何在数据资产中解压缩zip文件?

因为我不知道数据资产部分的确切关键路径。

我试图在这个项目的jupyter笔记本上做这件事。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-01-16 14:56:58

当您将文件上载到您的项目时,它将存储在项目的指定云存储中,默认情况下,云存储应该是云对象存储。(检查项目设置。)要处理笔记本中上传的文件(这只是一种数据资产,还有其他),您必须先从云存储中下载它,以便在内核的文件系统中访问它,然后执行所需的文件操作(例如读取、提取、.)

假设您已经上传了ZIP文件,那么您应该能够生成使用以下工具读取ZIP文件的代码:

  • 单击右上角的1010 (数据图标)
  • 选择“插入到代码”>“插入StreamingBody对象”
  • 按需要使用StreamingBody

我做了一个快速的测试,它就像一种魅力:

代码语言:javascript
运行
复制
...
# "Insert StreamingBody object" generated code
...
from io import BytesIO
import zipfile

zip_ref = zipfile.ZipFile(BytesIO(streaming_body_1.read()), 'r')
print zip_ref.namelist()
zip_ref.close()

编辑1:如果您的存档是压缩的tar文件,请使用以下代码:

代码语言:javascript
运行
复制
...
# "Insert StreamingBody object" generated code
...
import tarfile
from io import BytesIO
tf = tarfile.open(fileobj=BytesIO(streaming_body_1.read()), mode="r:gz") 
tf.getnames()

编辑2:为了避免读取超时,必须将生成的代码更改为

代码语言:javascript
运行
复制
config=Config(signature_version='oauth'),

代码语言:javascript
运行
复制
config=Config(signature_version='oauth',connect_timeout=50, read_timeout=70),

有了这些修改,我就可以下载并从您提到的回购中提取training_data.tar.gz

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48274094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档