web-dev-qa-db-ja.com

GoogleドライブからGoogle Colabにデータをインポートする方法は?

Googleドライブにいくつかのデータファイルをアップロードしています。これらのファイルをGoogle colabにインポートしたい。

REST APIメソッドとPyDriveメソッドは、新しいファイルを作成し、ドライブとコラボにアップロードする方法を示しています。私のドライブpythonコード。

私はこれの完全な初心者です。誰か助けてくれますか?

10
user3828311

(2018年4月15日更新:gspreadは頻繁に更新されているため、安定したワークフローを確保するためにバージョンを指定します)

スプレッドシートファイルの基本的な考え方は、パッケージgspreadとpandasを使用してドライブのスプレッドシートを読み取り、それらをpandasデータフレーム形式に変換することです。

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()) 

次に、Googleスプレッドシートを読むための3つの方法を知っています。

ファイル名別:

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()

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()

ファイルキー/ ID別:

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()

上記のコードをColabノートブックで共有しました: https://drive.google.com/file/d/1cvur-jpIpoEN3vAO8Fd_yVAT5Qgbr4GV/view?usp=sharing

ソース: https://github.com/burnash/gspread

12
MarshallMa

!)公開スプレッドシートでデータを公開するように設定します:

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()

詳細: GoogleスプレッドシートCSVをAに取得Pandas Dataframe

プライベートデータが同じであるが、何らかの体操をしなければならない場合...

1
dartdog