0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Python】スプレッドシート操作小技集

Last updated at Posted at 2019-10-01

以下の形でクライアントを作成している前提で書いていきます。
※herokuでデプロイする想定で作っているので環境変数から読み込むようになっていますがよしなに読み替えてください。

#2つのAPIを記述しないとリフレッシュトークンを3600秒毎に発行し続けなければならない
scope = ['https://spreadsheets.google.com/feeds','https://www.googleapis.com/auth/drive']

TYPE           = os.getenv("GS_TYPE",           "")
CLIENT_EMAIL   = os.getenv("GS_CLIENT_EMAIL",   "")
PRIVATE_KEY    = os.getenv("GS_PRIVATE_KEY",    "")
PRIVATE_KEY_ID = os.getenv("GS_PRIVATE_KEY_ID", "")
CLIENT_ID      = os.getenv("GS_CLIENT_ID",      "")

key_dict = {
          'type'          : TYPE,
          'client_email'  : CLIENT_EMAIL,
          'private_key'   : PRIVATE_KEY,
          'private_key_id': PRIVATE_KEY_ID,
          'client_id'     : CLIENT_ID,
}

SPREADSHEET_KEY = os.getenv("SPREADSHEET_KEY", "")
credentials = ServiceAccountCredentials.from_json_keyfile_dict(key_dict, scope)

#OAuth2の資格情報を使用してGoogle APIにログインします。
gc = gspread.authorize(credentials)

新しいシート作成

gc.add_worksheet(title='test', rows=5000, cols=26)

rowとcolは必須のようです。

シートが存在するかチェック

worksheets = gc.worksheets() # シートの一覧が取得できる

for sheet in worksheets:
    if 'シート1' == sheet.title:
        return True
    else:
        return False

調べた限りシートが存在するかを答えてくれる関数はなかったのでこんな感じでやってます。

参考:
https://qiita.com/ymk1102_1t/items/5c29d4f3229301e7c50e

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?