Le problème est simple: j'ai des données sur gDrive, par exemple sur
/projects/my_project/my_data*
.
J'ai aussi un simple cahier dans gColab.
Alors, j'aimerais faire quelque chose comme:
for file in glob.glob("/projects/my_project/my_data*"):
do_something(file)
Malheureusement, tous les exemples (comme celui-ci - https://colab.research.google.com/notebook#fileId=/v2/external/notebooks/io.ipynb , par exemple) suggèrent de ne charger que toutes les données nécessaires dans le notebook.
Mais, si j'ai beaucoup de données, cela peut être assez compliqué. Existe-t-il des possibilités de résoudre ce problème?
Merci pour l'aide!
python
google-colaboratory
Scitateur
la source
la source
Réponses:
Bonne nouvelle, PyDrive a un support de première classe sur CoLab! PyDrive est un wrapper pour le client python Google Drive. Voici un exemple sur la façon dont vous téléchargeriez TOUS les fichiers à partir d'un dossier, similaire à l'utilisation de
glob
+*
:Notez que les arguments de
drive.ListFile
sont un dictionnaire qui coïncide avec les paramètres utilisés par l' API HTTP Google Drive (vous pouvez personnaliser leq
paramètre à à votre cas d'utilisation).Sachez que dans tous les cas, les fichiers / dossiers sont encodés par des identifiants (voir le 1SooKSw8M4ACbznKjnNrYvJ5wxuqJ-YCk ) sur Google Drive. Cela nécessite que vous recherchiez dans Google Drive l'ID spécifique correspondant au dossier dans lequel vous souhaitez rooter votre recherche.
Par exemple, accédez au dossier
"/projects/my_project/my_data"
qui se trouve dans votre Google Drive.Voyez qu'il contient des fichiers, dans lesquels nous voulons télécharger sur CoLab. Pour obtenir l'id du dossier afin de l'utiliser par PyDrive, regardez l'url et extrayez le paramètre id. Dans ce cas, l'url correspondant au dossier était:
Où l'id est le dernier élément de l'url: 1SooKSw8M4ACbznKjnNrYvJ5wxuqJ-YCk .
la source
Edit : Depuis février 2020, il existe désormais une interface utilisateur de première classe pour le montage automatique de Drive.
Tout d'abord, ouvrez le navigateur de fichiers sur le côté gauche. Il affichera un bouton «Mount Drive». Une fois que vous avez cliqué, vous verrez une invite d'autorisations pour monter Drive, et vos fichiers Drive seront ensuite présents sans configuration lorsque vous reviendrez sur le portable. Le flux terminé ressemble à ceci:
La réponse originale suit, ci-dessous. (Cela fonctionnera également pour les blocs-notes partagés.)
Vous pouvez monter vos fichiers Google Drive en exécutant l'extrait de code suivant:
Ensuite, vous pouvez interagir avec vos fichiers Drive dans le panneau latéral du navigateur de fichiers ou à l'aide des utilitaires de ligne de commande.
Voici un exemple de cahier
la source
Merci pour les bonnes réponses! Le moyen le plus rapide d'obtenir quelques fichiers uniques vers Colab à partir de Google Drive: chargez l'assistant Drive et montez
Cela demandera une autorisation.
Ouvrez le lien dans un nouvel onglet-> vous obtiendrez un code - copiez-le dans l'invite, vous avez maintenant accès à la vérification de Google Drive:
puis copiez le (s) fichier (s) selon les besoins:
confirmez que les fichiers ont été copiés:
la source
La plupart des réponses précédentes sont un peu (très) compliquées,
J'ai compris que c'était le moyen le plus simple et le plus rapide de monter Google Drive dans CO Lab , vous pouvez changer le
mount directory location
en ce que vous voulez en changeant simplement le paramètre pourdrive.mount
. Il vous donnera un lien pour accepter les autorisations avec votre compte, puis vous devrez copier-coller la clé générée, puis le lecteur sera monté dans le chemin sélectionné.force_remount
est utilisé uniquement lorsque vous devez monter le variateur indépendamment du fait qu'il soit chargé précédemment.Vous pouvez négliger ce paramètre lorsque vous ne voulez pas forcer le montageModifier: vérifiez ceci pour trouver plus de façons d'effectuer les
IO
opérations dans colab https://colab.research.google.com/notebooks/io.ipynbla source
Vous ne pouvez pas stocker définitivement un fichier sur colab. Bien que vous puissiez importer des fichiers à partir de votre lecteur et à chaque fois que vous avez terminé avec le fichier, vous pouvez le sauvegarder.
Pour monter le lecteur Google sur votre session Colab
vous pouvez simplement écrire sur Google Drive comme vous le feriez sur un système de fichiers local. Maintenant, si vous voyez que votre lecteur Google sera chargé dans l'onglet Fichiers. Maintenant, vous pouvez accéder à n'importe quel fichier depuis votre colab, vous pouvez aussi bien en écrire qu'en lire. Les modifications seront effectuées en temps réel sur votre disque et toute personne disposant du lien d'accès à votre fichier pourra visualiser les modifications que vous avez apportées depuis votre colab.
Exemple
la source
Je suis paresseux et ma mémoire est mauvaise, j'ai donc décidé de créer easycolab qui est plus facile à mémoriser et à taper:
Assurez-vous de l'installer en premier:
!pip install easycolab
La
mount()
méthode implémente essentiellement ceci:la source
Vous pouvez simplement utiliser les extraits de code sur la gauche de l'écran. entrez la description de l'image ici
Insérez "Montage de Google Drive dans votre VM"
exécutez le code et copiez et collez le code dans l'URL
puis utilisez! ls pour vérifier les répertoires
dans la plupart des cas, vous trouverez ce que vous voulez dans le répertoire "/ gdrive / Mon lecteur"
alors vous pouvez le réaliser comme ceci:
la source
Ce que j'ai fait est d'abord:
ensuite
Après je peux par exemple lire des fichiers csv avec
Si vous avez des emplacements différents pour les fichiers, ajoutez simplement le chemin correct après Mon disque
la source
J'ai écrit une classe qui télécharge toutes les données dans le '.' emplacement sur le serveur colab
Le tout peut être extrait d'ici https://github.com/brianmanderson/Copy-Shared-Google-to-Colab
la source
Pour extraire le zip Google Drive d'un notebook Google colab, par exemple:
la source
@wenkesj
Je parle de copier le répertoire et tous ses sous-répertoires.
Pour moi, j'ai trouvé une solution, qui ressemble à ceci:
Néanmoins, j'ai l'impression que gDrive n'aime pas copier trop de fichiers.
la source
Il existe de nombreuses façons de lire les fichiers dans votre bloc-notes colab (**. Ipnb), quelques-unes sont:
Les méthodes 1 et 2 ont fonctionné pour moi , je n'ai pas réussi à comprendre le repos. Si quelqu'un le pouvait, comme d'autres l'ont essayé dans le post ci-dessus, veuillez écrire une réponse élégante. Merci d'avance.!
Première méthode:
Je n'ai pas pu monter mon lecteur Google, j'ai donc installé ces bibliothèques
Une fois le processus d'installation et d'autorisation terminé, commencez par monter votre lecteur.
Après l'installation, j'ai pu monter le lecteur google, tout ce qui se trouve dans votre lecteur google commence à partir de / content / drive
Maintenant, vous pouvez simplement lire le fichier du
path_to_your_folder
dossier dans pandas en utilisant le chemin ci-dessus.Deuxième méthode :
Ce qui est pratique, si votre fichier que vous souhaitez lire est présent dans le répertoire de travail courant.
Si vous avez besoin de télécharger des fichiers à partir de votre système de fichiers local, vous pouvez utiliser le code ci-dessous, sinon évitez-le.!
supposons que vous ayez sous la hiérarchie des dossiers dans votre lecteur Google:
Ensuite, vous avez simplement besoin du code ci-dessous pour charger dans les pandas.
la source
Pour lire tous les fichiers d'un dossier:
la source
Cela a parfaitement fonctionné pour moi.J'ai plus tard pu utiliser la
os
bibliothèque pour accéder à mes fichiers, tout comme j'y accède sur mon PCla source
Pensez simplement à télécharger le fichier avec un lien permanent et
gdown
préinstallé comme icila source