[Python] Extract Google Drive zip from Google colab notebook

Discussão em 'Python' iniciado por Stack, Março 18, 2025.

  1. Stack

    Stack Membro Participativo

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

Compartilhe esta Página