65840


### 前提・実現したいこと

Google Colab上でGoogle Spread Sheetの指定のページを読み込みたい。

### 発生している問題・エラーメッセージ

URLの末尾に"gid=" で指定しても、一番左側のページしか読み込まない  
該当のソースコードで指定したURLは"gid=57719256"。これは「罹患者関係」というタブのページのもの。

しかし、以下のページはスプレッドシートの一番左側のタブの「はじめに」というページが表示されている。

[code]

    0    <!DOCTYPE html><html lang="en-US"><head><scrip...
    1                                         はじめにお読みください。
    2    本データセットの構築プロジェクトは、株式会社SIGNATE（https://signate....
    3    プロジェクトに参加される方は、「COVID-19チャレンジ（https://signate....
    4                            趣意やタスクの内容を理解した上で、ご参加ください。
    ..                                                 ...
    344  (function(){var a=_.wd();if(_.C(a,18))Jj();els...
    345                     }catch(e){_._DumpException(e)}
    346                                    })(this.gbar_);
    347                                     // Google Inc.
    348  </script><script nonce="QCXx6uXK7nhk+YWIYJMCBA...
    
[/code]

### 該当のソースコード

[code]

    !wget --no-check-certificate --output-document=data.csv "https://docs.google.com/spreadsheets/d/1CnQOf6eN18Kw5Q6ScE_9tFoyddk4FBwFZqZpt_tMOm4/edit#gid=57719256"
    import pandas as pd
    df = pd.read_csv('data.csv',header=None, sep='\n')
    print(df)  
    
[/code]

### 補足情報（FW/ツールのバージョンなど）

・使用しているGoogle Spread Sheet ：[SIGNATE COVID-2019
Dataset](https://docs.google.com/spreadsheets/d/1CnQOf6eN18Kw5Q6ScE_9tFoyddk4FBwFZqZpt_tMOm4/edit#gid=642719404)


CC BY-SA 4.0
2020-04-22T02:44:33.930
65837
2020-04-24T06:32:56.357
2020-04-22T03:30:02.240
19110
question
python google-spreadsheet google-colaboratory
Google Colab上でGoogle Spread Sheetの指定のページを読み込みたい


ちゃんと調べていませんが、wget だと JavaScript が実行されておらずシートが変わらないのかもしれません。

プログラムから spreadsheet にアクセスするには、Google Sheets API を使うのが一般的です。

  * API の説明：<https://developers.google.com/sheets/api/guides/concepts?hl=ja>
  * Python での使い方の説明：<https://developers.google.com/sheets/api/quickstart/python?hl=ja>


CC BY-SA 4.0
2020-04-22T03:29:47.063
65840
2020-04-22T03:29:47.063
19110
65837
answer


自己回答です。

nekketsuuuさんの回答を元に解決した方法を記しておきます。

# 1\. gspreadをインストール

[code]

    !pip install gspread
    
[/code]

# 2\. 各種パッケージをimport

[code]

    from google.colab import auth
    from oauth2client.client import GoogleCredentials
    import gspread
    
[/code]

# 3\. 認証処理

[code]

    # 認証処理
    auth.authenticate_user()
    gc = gspread.authorize(GoogleCredentials.get_application_default())
    
[/code]

# 4.スプレッドシートを開く

[code]

    workbook = gc.open_by_url(スプレッドシートのURL)
    
[/code]

# 5.該当タブにアクセス

[code]

    worksheet = workbook.worksheet(タブの名前)
    
[/code]

以上の流れで取得したいワークシートにアクセスできました

* * *

【参考にしたサイト】

  * [Google ColaboratoryでGoogleスプレッドシートを読み書きしてみる - uepon日々の備忘録](https://uepon.hatenadiary.com/entry/2018/04/08/110916)
  * [gspreadライブラリの使い方まとめ！Pythonでスプレッドシートを操作する | たぬハック](https://tanuhack.com/library-gspread/)
  * [【Python】スプレッドシートを操作するライブラリ「gspread」の使い方まとめ｜Fresopiya](https://fresopiya.com/2019/04/19/gspread/)


CC BY-SA 4.0
2020-04-24T05:17:45.990
65917
2020-04-24T06:32:56.357
2020-04-24T06:32:56.357
65837
answer