76 votes

Colaboratoire : Puis-je accéder à mon dossier et à mon fichier Google drive ?

Google Colaboratory est vraiment cool, mais il serait plus utile si je pouvais accéder à tous mes fichiers google drive, sans utiliser l'API google drive standard.

Est-ce possible et facile ? et comment ?

1 votes

Avez-vous réussi à trouver un moyen simple d'accéder aux fichiers/dossiers directement dans Google Drive ? Je trouve également que ce message est venu après le vôtre : stackoverflow.com/questions/48376580/ mais ce n'est pas encore clair pour moi.

116voto

Bob Smith Points 12540

Voici un exemple d'utilisation d'une interface FUSE Drive pour accéder à vos fichiers Drive comme à des fichiers locaux : https://colab.research.google.com/notebook#fileId=1srw_HFWQ2SMgmWIawucXfusGzrj1_U0q

En bref :

# Load the Drive helper and mount
from google.colab import drive
drive.mount('/content/drive')

Après avoir exécuté le code ci-dessus, vos fichiers Drive seront présents dans /content/drive/My Drive .

Je suppose que vous avez également trouvé l'exemple I/O notebook fourni, qui montre comment utiliser les API Python pour accéder aux fichiers également. (Cela nécessite un peu moins de configuration). https://colab.research.google.com/notebook#fileId=/v2/external/notebooks/io.ipynb&scrollTo=c2W5A2px3doP

1 votes

Je ne suis pas sûr de savoir comment utiliser cette fonction pour "mapper" un dossier. imaginez que j'ai des milliers de fichiers individuels dans un dossier et que j'exécute un carnet de notes de collaboration qui doit itérer à travers tous les fichiers de ce dossier.

0 votes

J'ai réussi à mapper un fichier situé dans le dossier Colab Notebooks comme (a) !cat drive/'Colab Notebooks'/hobbit.txt et comme (b) textRDD = spark.sparkContext.textFile("drive/Colab Notebooks/hobbit.txt")

34voto

Ha Bom Points 1725

Pour monter votre lecteur Google sur Colab :

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

et ensuite à cd dans n'importe quel répertoire du lecteur Google :

import os
os.chdir("drive/My Drive/<your-folder>")

et pour lister tous les éléments du répertoire sur lequel Colab travaille (pour s'assurer qu'il s'agit du bon répertoire) :

!ls

1 votes

Cette solution a fonctionné pour moi et semble la plus simple de toutes les réponses proposées ici.

1 votes

Cette réponse est la meilleure ! Merci.

12voto

Anvesh_vs Points 158

Veuillez suivre trois étapes simples dans le cahier d'exercices pour accéder à un dossier ou à un fichier dans Google Drive,

Étape :1 Exécutez cet extrait

    !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
    from google.colab import auth
    auth.authenticate_user()
    from oauth2client.client import GoogleCredentials
    creds = GoogleCredentials.get_application_default()
    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}

À cette étape, il vous sera demandé deux fois de cliquer sur un lien pour autoriser l'accès à votre disque, à chaque étape, un code sera généré : (ex : 4/AACN9EZG2AU0dRsV0BupjAc107ugSvT_pmr4YPElX7VkoWru6mNmqc8).collez ce code et cliquez sur entrée.

Étape : 2 Pour créer un répertoire

!mkdir -p drive
!google-drive-ocamlfuse drive

Étape : 3 Accéder à votre dossier

import pandas as pd
trainDf = pd.read_csv("drive/app/Sample/train.csv");//Here is your file

7voto

sliawatimena Points 108

Après avoir réussi à exécuter le programme Drive FUSE, vous pouvez accéder à votre lecteur dans /content/drive avec la commande suivante

import os
os.chdir("/content/drive/")
!ls

5voto

Ravi G Points 492

Oui, vous pouvez le faire.

suivez les étapes ci-dessous.

Exécutez le code ci-dessous et complétez l'authentification

 !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
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
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}

**Exécutez le code ci-dessous **

!mkdir -p drive
!google-drive-ocamlfuse drive

**importation de fichiers dans le carnet de notes **

import pandas as pd
pd.read_csv("drive/Colab_Notebooks/4k_without_spcl.csv") 

Colab_Notebooks est un dossier dans google drive

2 votes

Réponse en double.

0 votes

Est-il possible d'écrire un fichier sur google drive en utilisant cette méthode ?

0 votes

Oui, vous pouvez écrire votre cadre de données en csv en utilisant la méthode pandas.to_csv.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X