Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Extract Google Drive zip from Google colab notebook

I already have a zip of (2K images) dataset on a google drive. I have to use it in a ML training algorithm. Below Code extracts the content in a 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'))) 

But I have to extract and store it in a separate directory as it would be easier for processing (as well as for understanding) of the dataset.

I tried to extract it further, but getting "Not a zipfile error"

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

Google Drive Dataset

Note: Dataset is just for reference, I have already downloaded this zip to my google drive, and I'm referring to file in my drive only.

like image 564
Laxmikant Avatar asked Apr 06 '18 05:04

Laxmikant


People also ask

How do I extract ZIP files from Google Colab?

How do I unzip a zip file in Colab? Zip the folder with the files. Upload the zipped file using Google Drive Interface. Open a new Google Colab file and mount it to Google Drive to be able to access the zip file.


2 Answers

You can simply use this

!unzip file_location 
like image 112
Harsh Gupta Avatar answered Sep 27 '22 22:09

Harsh Gupta


TO unzip a file to a directory:

!unzip path_to_file.zip -d path_to_directory 
like image 34
giapnh Avatar answered Sep 27 '22 21:09

giapnh