Google Colab : comment accéder aux données stockées dans Google Drive ?

Google Colab est un des services proposés par la société Google. Il offre aux étudiants ou scientifiques la possibilité d'exécuter du code écrit en langage Python directement depuis son navigateur. Cela évite pour une personne de devoir installer les logiciels nécessaires pour le faire sur son ordinateur. Il est notamment possible d'interagir avec d'autres services Google, comme Google Drive.

Pour effectuer cette manipulation, vous allez devoir faire appel à une librairie, PyDrive. Elle permet d'interagir avec l'API de Google Drive et d'effectuer des manipulations. Google Colab permet l'utilisation de certaines librairies, dont PyDrive. Vous devrez indiquer, dans votre notebook, d'installer la librairie. Avant d'utiliser le script, créez un dossier qui va contenir dans Google Colab tous les fichiers récupérés depuis Google Drive. Remplacez ensuite dans le code la mention "~/mon-repertoire" par le chemin vers votre dossier. Vous devez également indiquer l'identifiant du dossier contenant les données Google Drive que vous souhaitez récupérer. Il sera donc plus simple de regrouper les données à transférer dans un seul dossier. Sinon, vous devrez utiliser le script autant de fois qu'il y a de dossiers. Pour récupérer l'identifiant, affichez le dossier Google Drive dans votre navigateur. L'identifiant est la chaîne de caractères qui se situe après "/folders/" dans l'URL. Par exemple, pour l'URL "https://drive.google.com/drive/folders/A1b2C3", l'identifiant est "A1b2C3". Remplacez la chaîne "identifiant-de-mon-dossier" par votre identifiant.

Vous devez ensuite créer un notebook. Copiez le code du script ci-dessous, remplacez par vos éléments les variables, puis exécutez le script pour chaque dossier dont vous souhaitez importer le contenu.

# On indique ici que l'on utilise PyDrive et on importe les modules nécessaires
!pip install -U -q PyDrive
import os
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials

# Authentification et création du client PyDrive
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)

# Choix du répertoire qui va contenir les fichiers téléchargés
dossier = os.path.expanduser('~/mon-repertoire')
try:
  os.makedirs(dossier)
except: pass

# Parcours du dossier Google Drive et téléchargement des fichiers
liste_fichiers = drive.ListFile(
    {'q': "'identifiant-de-mon-dossier' in parents"}).GetList()

for fichier in liste_fichiers:
  nom = os.path.join(dossier, fichier['title'])
  print('Téléchargement de {}'.format(nom))
  nouveauFichier = drive.CreateFile({'id': fichier['id']})
  nouveauFichier.GetContentFile(nom)
Autour du même sujet

Python