web-dev-qa-db-ja.com

Google colabノートブックからGoogle Drive Zipを抽出します

GoogleドライブにZip(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')))

ただし、データセットの処理(および理解)を容易にするため、別のディレクトリに抽出して保存する必要があります。

さらに抽出しようとしましたが、「zipファイルエラーではありません」

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

Googleドライブデータセット

注:データセットは参照用であり、このZipを既にGoogleドライブにダウンロードしており、ドライブ内のファイルのみを参照しています。

8
Laxmikant

これはこれだけで使えます

!unzip file_location
14
Harsh Gupta

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()
6
Alon Lavian

GDriveのマウント:

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

リンクを開く->認証コードをコピーする->それをプロンプトに貼り付けて、「Enter」を押す

GDriveアクセスを確認します。

!ls "/content/gdrive/My Drive"

nzip (qは "quiet"の略)GDriveからのファイル:

!unzip -q "/content/gdrive/My Drive/dataset.Zip"
3
Plo_Koon

まず、colabにunzipをインストールします。

!apt install unzip

次に、unzipを使用してファイルを抽出します。

!unzip  source.Zip -d destination.Zip
3
Omid Ghahroodi

最初に新しいディレクトリを作成します。

!mkdir file_destination

次は、解凍したファイルでディレクトリをこれで膨らませる時です。

!unzip file_location -d file_destination
2
Kripalu Sar

簡単な接続方法

1)認証を確認する必要があります

from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()

2)Googleドライブを融合するには

!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse Fuse

3)資格情報を確認するには

import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}

4)コラボで使用するドライブ名(「gdrive」)を作成し、動作するかどうかを確認します

!mkdir gdrive
!google-drive-ocamlfuse gdrive
!ls gdrive
!cd gdrive
1
Vaishnavi Bala

GetContentString()の代わりに、代わりにGetContentFile()を使用します。文字列を返す代わりにファイルを保存します。

downloaded.GetContentFile('images.Zip') 

その後、unzipを使用して後で解凍できます。

ファイルをディレクトリに解凍するには:

!unzip path_to_file.Zip -d path_to_directory
0
giapnh