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. Continue reading...