gspreadライブラリの使い方をまとめる
前回の記事で、サービスアカウントにて、スプレッドシートを自動化する
土台を作ったので、今回は、スプレッドシートの実用編として、記事をまとめる。
API使用準備は以下を参考
Google スプレッドシートは、データの整理、分析、共有に便利なツールです。Pythonのgspreadライブラリを使用すると、Google スプレッドシート内のセルやシートを操作できます。以下では、gspreadを使ったシート、セルの操作について説明します。
①シート操作編
1シートの作成、削除
(ただし、サービスアカウントでシートを新規作成は、共有の問題で、誰も操作不可
別途、JAVAで権限付与が必要)
import gspread
# Google スプレッドシートに接続
gc = gspread.service_account(filename='credentials.json')
# 新しいシートを作成
new_sheet = gc.create('New Sheet')
# シートを削除
gc.del_spreadsheet(new_sheet.id)
2シートの名前変更
import gspread
# Google スプレッドシートに接続
gc = gspread.service_account(filename='credentials.json')
# シートIDを取得して名前を変更
spreadsheet_key = '▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲'
# 共有されたスプレッドシートを開く
worksheet = gc.open_by_key(spreadsheet_key).sheet1
worksheet.update_title('New Sheet Name')
3シートの色やテーマの変更:
import gspread
# Google スプレッドシートに接続
gc = gspread.service_account(filename='credentials.json')
# シートIDを取得して名前を変更
spreadsheet_key = '▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲'
# 共有されたスプレッドシートを開く
worksheet = gc.open_by_key(spreadsheet_key).sheet1
worksheet.format('A1:B5', {
"backgroundColor": {
"red": 1.0,
"green": 0.8,
"blue": 0.8
}
})
②セル操作編
1. セルの書き込み
gspreadを使用してセルにデータを書き込むには、セルの座標を指定して値を設定します。
import gspread
# Google スプレッドシートに接続
gc = gspread.service_account(filename='credentials.json')
# シートIDを取得して名前を変更
spreadsheet_key = '▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲'
# 共有されたスプレッドシートを開く
worksheet = gc.open_by_key(spreadsheet_key).sheet1
# セルに値を設定
worksheet.update(values = [['Hello,world!']], range_name='A1')
このコードは、ワークシートのA1セルに「Hello, world!」という文字列を書き込みます。
2. セルの読み取り
特定のセルの値を読み取るには、セルの座標を指定して値を取得します。たとえば、次のようにします。
cell_value = worksheet.acell('A1').value
print(cell_value)
これにより、A1セルの値が取得され、コンソールに出力されます。
3. セルの範囲操作
gspreadを使用して、セルの範囲を操作することもできます。たとえば、特定の範囲に値を一括で書き込むことができます。
cell_list = worksheet.range('A1:C3')
for cell in cell_list:
cell.value = 'New Value'
worksheet.update_cells(cell_list)
このコードは、A1からC3までのセルに「New Value」という値を一括して書き込みます。
4. セルの書式設定
gspreadを使用して、セルの書式を設定することもできます。たとえば、セルの背景色やフォントスタイルを変更することができます。
worksheet = gc.open_by_key(spreadsheet_key).sheet1
worksheet.format("A2:B2", {
"backgroundColor": {
"red": 0.0,
"green": 1.0,
"blue": 0.0
},
"horizontalAlignment": "CENTER",
"textFormat": {
"foregroundColor": {
"red": 1.0,
"green": 1.0,
"blue": 1.0
},
"fontSize": 12,
"bold": True
}
})
以上が、gspreadを使用してGoogle スプレッドシートのセルを操作する基本的な方法です。これらの操作を組み合わせて、データの読み書きやセルの書式設定を効果的に行うことができます。
スプレッドシート以外にもこんなことやってます。