ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

【python】スプレッドシートの操作のメモ

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()