Python

【Python】【gspread】指定した範囲のセルをクリアする方法!

あきぞらです。

Pythongspreadというライブラリを使うときがたまにあります。

「特定の範囲のセルだけクリアする」処理を入れたい時がありました。

パッとやり方が分からず、少し悪戦苦闘したので、やり方を紹介していこうと思います。

そもそもgspreadとは?

PythonGoogle SpreadSheetの操作が可能になるライブラリです。

Pythonが入っていれば、以下でpipインストールできます。

$ pip install gspread

参考になったサイト

さて、表題の「セルをクリアにする方法」ですが、

stackoverflowに同じ悩みを持っている人が質問していました。

ここの質問の回答を参考にすると、やり方が分かりました。

また、公式サイトをよく読んでみると、書いてありました。

公式サイトはしっかり読まないとダメですね。

gspread.readthedocs.io
API Reference — gspread 3.6.0 documentation
https://gspread.readthedocs.io/en/latest/api.html#gspread.models.Spreadsheet.values_clear

特定の範囲のセルをクリアする方法

まず、スプレッドシートのオブジェクトを取得したあと、

values_clearという関数を使ってクリアの処理を行います。

from oauth2client.service_account import ServiceAccountCredentials

# スプレッドシートのAPIを使うための認証情報
SCOPES = [
    'https://spreadsheets.google.com/feeds',
    'https://www.googleapis.com/auth/drive'
]
credentials = ServiceAccountCredentials.from_json_keyfile_name(
    './service_account.json',
    SCOPES
)
gc = gspread.authorize(credentials)

workbook = gc.open_by_key('スプレッドシートのID')

# シート名が「テストシート」の、A1~H1000までの範囲をクリアにする
workbook.values_clear("'テストシート':!A1:H1000")

最後の方の、workbook.values_clearのところでシート名:!セル範囲を指定してあげることで、

指定のセルをクリアすることができます。

-Python

Copyright© あきぞらてっく , 2024 All Rights Reserved Powered by AFFINGER5.