it-swarm.com.de

Extrahieren Sie Google Drive Zip aus dem Google Colab-Notizbuch

Ich habe bereits eine ZIP-Datei (2K-Bilder) auf einem Google-Laufwerk. Ich muss es in einem ML-Trainingsalgorithmus verwenden. Der folgende Code extrahiert den Inhalt in einem String-Format:

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')))

Ich muss es jedoch extrahieren und in einem separaten Verzeichnis speichern, da es für die Verarbeitung (sowie für das Verständnis) des Datensatzes einfacher wäre.

Ich habe versucht, es weiter zu extrahieren, aber "Kein Zipfile-Fehler"

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

Google Drive-Datensatz

Hinweis: Der Datensatz dient nur als Referenz. Ich habe diesen Zip bereits auf mein Google-Laufwerk heruntergeladen, und ich beziehe mich nur auf die Datei in meinem Laufwerk.

5
Laxmikant

Sie können dies einfach verwenden

!unzip file_location
6
Harsh Gupta

So extrahieren Sie Google Drive Zip aus einem Google colab-Notizbuch:

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

Mount GDrive:

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

Öffne den Link -> kopiere den Autorisierungscode -> füge ihn in die Eingabeaufforderung ein und drücke "Enter"

Überprüfen Sie den Zugriff auf GDrive:

!ls "/content/gdrive/My Drive"

nzip (q steht für "quiet") Datei von GDrive:

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

Installieren Sie zunächst unzip auf colab:

!apt install unzip

dann entpacken Sie Ihre Dateien mit:

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

Erstellen Sie zuerst ein neues Verzeichnis:

!mkdir file_destination

Nun ist es an der Zeit, das Verzeichnis mit den entpackten Dateien folgendermaßen aufzublasen:

!unzip file_location -d file_destination
2
Kripalu Sar

EINFACHE VERBINDUNG

1) Sie müssen die Authentifizierung überprüfen

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

2) Um Google Drive zu verschmelzen

!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) So überprüfen Sie die Anmeldeinformationen

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) Erstellen Sie einen Laufwerksnamen, um ihn in colab ('gdrive') zu verwenden, und überprüfen Sie, ob er funktioniert

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

Verwenden Sie statt GetContentString() stattdessen GetContentFile (). Die Datei wird gespeichert, anstatt die Zeichenfolge zurückzugeben.

downloaded.GetContentFile('images.Zip') 

Dann können Sie es später mit unzip entpacken.

So entpacken Sie eine Datei in ein Verzeichnis:

!unzip path_to_file.Zip -d path_to_directory
0
giapnh