gspread を使ってスプレッドシートを操作するときのよく使うサンプルをここにメモします。
ワークシートの操作
シート新規作成
書式
add_worksheet(title=”シート名”, rows=行数, cols=列数)
サンプル
gauth = GoogleAuth() gauth.LocalWebserverAuth() sheet_id = "xxxxxxxxxxxxxxxxxxxxxxx" gc = gspread.authorize(gauth.credentials) workbook = gc.open_by_key(sheet_id) workbook.add_worksheet(title="newsheet", rows=50, cols=10)
シート削除
書式
del_worksheet(ワークシート)
サンプル
gauth = GoogleAuth() gauth.LocalWebserverAuth() sheet_id = "xxxxxxxxxxxxxxxxxxxxxxx" sheet_name = "シート1" gc = gspread.authorize(gauth.credentials) workbook = gc.open_by_key(sheet_id) worksheet = workbook.worksheet(sheet_name) workbook.del_worksheet(worksheet)
シート一覧取得
書式
worksheets()
サンプル
gauth = GoogleAuth() gauth.LocalWebserverAuth() sheet_id = "xxxxxxxxxxxxxxxxxxxxxxx" gc = gspread.authorize(gauth.credentials) workbook = gc.open_by_key(sheet_id) list = workbook.worksheets()
シート名変更
書式
update_title(‘変更後のシート名’)
サンプル
gauth = GoogleAuth() gauth.LocalWebserverAuth() sheet_id = "xxxxxxxxxxxxxxxxxxxxxxx" sheet_name = "シート1" gc = gspread.authorize(gauth.credentials) workbook = gc.open_by_key(sheet_id) worksheet = workbook.worksheet(sheet_name) worksheet.update_title('変更後のシート名')
セルの操作
セルの値取得
書式
worksheet.acell(‘番地’).value worksheet.cell(行番号,列番号).value
サンプル
gauth = GoogleAuth() gauth.LocalWebserverAuth() sheet_id = "xxxxxxxxxxxxxxxxxxxxxxx" sheet_name = "シート1" gc = gspread.authorize(gauth.credentials) workbook = gc.open_by_key(sheet_id) worksheet = workbook.worksheet(sheet_name) value_1 = worksheet.acell('C3').value value_2 = worksheet.cell(3,3).value
複数セルの値取得
書式
worksheet.range(‘番地:番地’)
サンプル
gauth = GoogleAuth() gauth.LocalWebserverAuth() sheet_id = "xxxxxxxxxxxxxxxxxxxxxxx" sheet_name = "シート1" gc = gspread.authorize(gauth.credentials) workbook = gc.open_by_key(sheet_id) worksheet = workbook.worksheet(sheet_name) range = worksheet.range('A1:F4')
セルに値を入力
書式
worksheet.update(‘番地’, ‘入力したい値’) worksheet.update_cell(行座標, 列座標, ‘入力したい値’)
サンプル
gauth = GoogleAuth() gauth.LocalWebserverAuth() sheet_id = "xxxxxxxxxxxxxxxxxxxxxxx" sheet_name = "シート1" gc = gspread.authorize(gauth.credentials) workbook = gc.open_by_key(sheet_id) worksheet = workbook.worksheet(sheet_name) cell_1 = worksheet.update('A1', 'ネコ') cell_2 = worksheet.update_cell(7, 2, 'イヌ')
セルの値入力のオプション設定
- 数式として入力したいとき
value_input_option=’USER_ENTERED‘
- 文字列として入力したいとき
value_input_option=’RAW‘
セルの値クリア
書式
ws.batch_clear([“番地:番地”, “番地:番地”]) ws.clear()
サンプル
gauth = GoogleAuth() gauth.LocalWebserverAuth() sheet_id = "xxxxxxxxxxxxxxxxxxxxxxx" sheet_name = "シート1" gc = gspread.authorize(gauth.credentials) workbook = gc.open_by_key(sheet_id) worksheet = workbook.worksheet(sheet_name) # 範囲指定でクリア worksheet.batch_clear(["A1:B2", "D1:E2"]) # シート全体のセルクリア worksheet.clear()