web-dev-qa-db-fra.com

Comment importer des données dans Google Colab à partir de Google Drive?

J'ai des fichiers de données téléchargés sur mon Google Drive. Je souhaite importer ces fichiers dans google colab.

La méthode REST et la méthode PyDrive montrent comment créer un nouveau fichier et le télécharger sur le lecteur et la colab. À l'aide de cela, je ne peux pas comprendre comment lire les fichiers de données déjà présents sur mon conduire dans mon python.

Je suis totalement novice dans ce domaine. Est-ce que quelqu'un peut m'aider?

10
user3828311

(Mise à jour du 15 avril 2018: le gspread est fréquemment mis à jour, donc pour garantir un flux de travail stable, je spécifie la version)

Pour le fichier de feuille de calcul, l'idée de base consiste à utiliser les packages gspread et pandas pour lire les feuilles de calcul dans Drive et les convertir au format pandas dataframe).

Dans le carnet Colab:

#install packages
!pip install gspread==2.1.1
!pip install gspread-dataframe==2.1.0
!pip install pandas==0.22.0


#import packages and authorize connection to Google account:
import pandas as pd
import gspread
from gspread_dataframe import get_as_dataframe, set_with_dataframe
from google.colab import auth
auth.authenticate_user()  # verify your account to read files which you have access to. Make sure you have permission to read the file!
from oauth2client.client import GoogleCredentials
gc = gspread.authorize(GoogleCredentials.get_application_default()) 

Ensuite, je connais 3 façons de lire les feuilles de calcul Google.

Par nom de fichier:

spreadsheet = gc.open("goal.csv") # Open file using its name. Use this if the file is already anywhere in your drive
sheet =  spreadsheet.get_worksheet(0)  # 0 means the first sheet in the file
df2 = pd.DataFrame(sheet.get_all_records())
df2.head()

Par URL:

 spreadsheet = gc.open_by_url('https://docs.google.com/spreadsheets/d/1LCCzsUTqBEq5pemRNA9EGy62aaeIgye4XxwReYg1Pe4/edit#gid=509368585') # use this when you have the complete url (the edit#gid means permission)
    sheet =  spreadsheet.get_worksheet(0)  # 0 means the first sheet in the file
    df2 = pd.DataFrame(sheet.get_all_records())
    df2.head()

Par clé/ID de fichier:

spreadsheet = gc.open_by_key('1vpukIbGZfK1IhCLFalBI3JT3aobySanJysv0k5A4oMg') # use this when you have the key (the string in the url following spreadsheet/d/)
sheet =  spreadsheet.get_worksheet(0)  # 0 means the first sheet in the file
df2 = pd.DataFrame(sheet.get_all_records())
df2.head()

J'ai partagé le code ci-dessus dans un bloc-notes Colab: https://drive.google.com/file/d/1cvur-jpIpoEN3vAO8Fd_yVAT5Qgbr4GV/view?usp=sharing

Source: https://github.com/burnash/gspread

12
MarshallMa

!) Définissez vos données pour qu'elles soient accessibles au public, puis pour les feuilles de calcul publiques:

from StringIO import StringIO  # got moved to io in python3.

import requests
r = requests.get('https://docs.google.com/spreadsheet/ccc? 
key=0Ak1ecr7i0wotdGJmTURJRnZLYlV3M2daNTRubTdwTXc&output=csv')
data = r.content

In [10]: df = pd.read_csv(StringIO(data), index_col=0,parse_dates= 
['Quradate'])

In [11]: df.head()

Plus ici: Obtenir le CSV de la feuille de calcul Google dans A Pandas Dataframe

Si les données privées sont en quelque sorte les mêmes, mais vous devrez faire de la gymnastique auth ...

1
dartdog