从Google colab笔记本中提取Google Drive zip
machine-learning
python
10
0

我已经在Google驱动器上压缩了(2K图像)数据集。我必须在ML训练算法中使用它。下面的代码以字符串格式提取内容:

from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials
import io
import zipfile
# Authenticate and create the PyDrive client.
# This only needs to be done once per notebook.
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)

# Download a file based on its file ID.
#
# A file ID looks like: laggVyWshwcyP6kEI-y_W3P8D26sz
file_id = '1T80o3Jh3tHPO7hI5FBxcX-jFnxEuUE9K' #-- Updated File ID for my zip
downloaded = drive.CreateFile({'id': file_id})
#print('Downloaded content "{}"'.format(downloaded.GetContentString(encoding='cp862')))

但是我必须将其提取并存储在单独的目录中,因为这样可以更轻松地处理(以及理解)数据集。

我尝试进一步提取它,但收到“不是zipfile错误”

dataset = io.BytesIO(downloaded.encode('cp862'))
zip_ref = zipfile.ZipFile(dataset, "r")
zip_ref.extractall()
zip_ref.close()

Google云端硬盘数据集

注意:数据集仅供参考,我已经将此zip下载到了我的google驱动器中,并且我仅指的是驱动器中的文件。

参考资料:
Stack Overflow
收藏
评论
共 6 个回答
高赞 时间 活跃

首先创建一个新目录:

!mkdir file_destination

现在,该用以下解压缩的文件为目录充气:

!unzip file_location -d file_destination
收藏
评论

要从Google colab笔记本中提取Google Drive zip,请执行以下操作:

import zipfile
from google.colab import drive

drive.mount('/content/drive/')

zip_ref = zipfile.ZipFile("/content/drive/My Drive/ML/DataSet.zip", 'r')
zip_ref.extractall("/tmp")
zip_ref.close()
收藏
评论

首先,在colab上安装解压缩文件:

!apt install unzip

然后使用解压缩来提取文件:

!unzip  source.zip -d destination.zip
收藏
评论

要将文件解压缩到目录:

!unzip path_to_file.zip -d path_to_directory
收藏
评论

安装GDrive:

from google.colab import drive
drive.mount('/content/gdrive')

打开链接->复制授权代码->将其粘贴到提示中,然后按“ Enter”

检查GDrive访问:

!ls "/content/gdrive/My Drive"

从GDrive 解压缩文件 (q代表“安静”):

!unzip -q "/content/gdrive/My Drive/dataset.zip"
收藏
评论

您可以简单地使用此

!unzip file_location
收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号