Importer des données dans Google Colaboratory

quelles sont les façons courantes d'importer des données privées dans Google colaboratory notebooks? Est-il possible d'importer une feuille Google non publique? Vous ne pouvez pas lire les fichiers système. Les docs d'introduction lient à un guide sur L'utilisation de BigQuery , mais cela semble un peu... beaucoup.

55
demandé sur V.Y. 2017-10-28 07:56:58

9 réponses

un exemple officiel de bloc-notes démontrant le téléchargement / Téléchargement de fichiers locaux et l'intégration avec le lecteur et les feuilles est disponible ici: https://colab.research.google.com/notebooks/io.ipynb

la façon la plus simple de partager des fichiers est de monter votre GoogleDrive.

pour ce faire, exécutez ce qui suit dans une cellule de code:

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

ensuite, vos fichiers de disque seront montés et vous pouvez les parcourir avec le navigateur de fichiers dans le panneau latéral.

enter image description here

Voici une exemple complet d'ordinateur portable

47
répondu Bob Smith 2018-09-13 04:32:16

Télécharger

from google.colab import files
files.upload()

télécharger

files.download('filename')

répertoire

files.os.listdir()
20
répondu 井上智文 2018-03-14 10:50:04

simple façon d'importer des données de votre googledrive-ce faire gagner du temps aux gens (ne sais pas pourquoi google ne fait tout simplement pas cette liste étape par étape explicitement).

INSTALLER ET AUTHENTIFIER PYDRIVE

     !pip install -U -q PyDrive ## you will have install for every colab session

     from pydrive.auth import GoogleAuth
     from pydrive.drive import GoogleDrive
     from google.colab import auth
     from oauth2client.client import GoogleCredentials

     # 1. Authenticate and create the PyDrive client.
     auth.authenticate_user()
     gauth = GoogleAuth()
     gauth.credentials = GoogleCredentials.get_application_default()
     drive = GoogleDrive(gauth)

UPLOADING

si vous avez besoin de télécharger des données à partir d'un lecteur local:

    from google.colab import files

    uploaded = files.upload()

    for fn in uploaded.keys():
       print('User uploaded file "{name}" with length {length} bytes'.format(name=fn, length=len(uploaded[fn])))

exécuter et cela affichera un bouton Choisir fichier - trouver votre fichier de téléchargement - cliquez sur Ouvrir

après le téléchargement, il affichera:

    sample_file.json(text/plain) - 11733 bytes, last modified: x/xx/2018 - %100 done
    User uploaded file "sample_file.json" with length 11733 bytes

CRÉER FICHIER POUR NOTEBOOK

Si votre fichier de données est déjà dans votre gdrive, vous pouvez sautez cette étape.

maintenant il est dans votre lecteur google. Trouver le fichier dans google drive et cliquez à droite. Cliquez sur le lien partageable get'.'Vous obtiendrez une fenêtre avec:

    https://drive.google.com/open?id=29PGh8XCts3mlMP6zRphvnIcbv27boawn

Copy - '29PGh8XCts3mlMP6zRphvnIcbv27boawn' - qui est l'ID du fichier.

dans votre carnet:

    json_import = drive.CreateFile({'id':'29PGh8XCts3mlMP6zRphvnIcbv27boawn'})

    json_import.GetContentFile('sample.json') - 'sample.json' is the file name that will be accessible in the notebook.

IMPORTER DES DONNÉES DANS NOTEBOOK

pour importer les données que vous avez téléchargées dans le notebook (un fichier json dans cet exemple - comment vous chargez dépendra du type de fichier/Données - .txt,.csv etc. ):

    sample_uploaded_data = json.load(open('sample.json'))

Maintenant vous pouvez imprimer pour voir les données sont là:

    print(sample_uploaded_data)
12
répondu E G 2018-02-21 00:20:55

la façon la plus simple que j'ai faite est:

  1. Faire de dépôt sur github avec votre jeu de données
  2. clonez votre dépôt avec ! git clone --recursive [GitHub LINK REPO]
  3. trouver où sont vos données ( !commande ls )
  4. ouvrir le fichier avec pandas comme vous le faites dans le carnet jupyter normal.
6
répondu Rafał B. 2018-02-10 18:50:53

cela vous permet de télécharger vos fichiers via Google Drive.

exécutez le code ci - dessous (trouvé quelque part auparavant mais je ne peux pas trouver la source à nouveau-crédits à celui qui l'a écrit!):

!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}

Cliquez sur le premier lien qui apparaît, qui vous invite à vous connecter à Google; après un autre apparaîtra demander la permission d'accéder à votre Google Drive.

ensuite, Lancez ceci qui crée un répertoire nommé "drive", et les liens de votre lecteur Google à elle:

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

Si vous faites un !ls maintenant, il y aura un répertoire en voiture, et si vous faites un !ls drive vous pouvez voir tout le contenu de votre Google Drive.

donc par exemple, si je sauve mon fichier appelé abc.txt dans un dossier appelé ColabNotebooks dans mon lecteur Google, je peux maintenant y accéder via un chemin drive/ColabNotebooks/abc.txt

6
répondu yl_low 2018-03-17 02:55:09

la solution la plus simple que j'ai trouvée jusqu'à présent qui fonctionne parfaitement pour les fichiers CSV de petite à moyenne taille est:

  1. Créer un secret essentiel sur gist.github.com et en amont (ou copier-coller le contenu de votre fichier.
  2. cliquez sur Raw affichez et copiez L'URL du fichier raw.
  3. utilisez L'URL copiée comme l'adresse du fichier lorsque vous appelez pandas.read_csv(URL)

Cela peut ou peut pas de travail pour lire un fichier texte ligne par ligne ou des fichiers binaires.

2
répondu Borhan Kazimipour 2018-03-01 23:28:34

importation rapide et facile de Dropbox:

!pip install dropbox
import dropbox
access_token = 'YOUR_ACCESS_TOKEN_HERE' # https://www.dropbox.com/developers/apps
dbx = dropbox.Dropbox(access_token)

# response = dbx.files_list_folder("")

metadata, res = dbx.files_download('/dataframe.pickle2')

with open('dataframe.pickle2', "wb") as f:
  f.write(res.content)
2
répondu delica 2018-03-10 17:16:51

il a été résolu, trouver des détails ici et s'il vous plaît utiliser la fonction ci-dessous: https://stackoverflow.com/questions/47212852/how-to-import-and-read-a-shelve-or-numpy-file-in-google-colaboratory/49467113#49467113

from google.colab import files
import zipfile, io, os

    def read_dir_file(case_f):
        # author: yasser mustafa, 21 March 2018  
        # case_f = 0 for uploading one File and case_f = 1 for uploading one Zipped Directory
        uploaded = files.upload()    # to upload a Full Directory, please Zip it first (use WinZip)
        for fn in uploaded.keys():
            name = fn  #.encode('utf-8')
            #print('\nfile after encode', name)
            #name = io.BytesIO(uploaded[name])
        if case_f == 0:    # case of uploading 'One File only'
            print('\n file name: ', name)
            return name
        else:   # case of uploading a directory and its subdirectories and files
            zfile = zipfile.ZipFile(name, 'r')   # unzip the directory 
            zfile.extractall()
            for d in zfile.namelist():   # d = directory
                print('\n main directory name: ', d)
                return d
    print('Done!')
0
répondu Yasser Mustafa 2018-03-29 13:34:07

Voici une façon d'importer des fichiers à partir de Google drive pour les ordinateurs portables.

ouvrez le carnet jupyter et exécutez le code ci-dessous et complétez le processus d'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}

une fois que vous avez terminé avec le code ci-dessus , exécutez le code ci-dessous pour monter Google drive

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

importation de fichiers à partir de Google drive vers les ordinateurs portables (Ex: Colab_Notebooks/db.csv)

permet de dire votre fichier dataset dans Colab_Notebooks le dossier et son nom est db.csv

import pandas as pd
dataset=pd.read_csv("drive/Colab_Notebooks/db.csv")

j'espère que cela aide

0
répondu Ravi Gurnatham 2018-07-14 18:00:45