PythonでGoogle spread sheetを操作する
必要なモジュール
・gspread
・oauth2client
実際に書いたコードは一番下に載せときます。
OAuth2.0とは?
ログインが必要なサービスを利用する際はログインID/パスワードの情報が必要になります。セキュリティを担保した上でログイン情報を本家のWebサービスとやり取りする仕組みによく使われるのがOAuth2.0です。
→詳しい仕組みについては
http://www.ari-hiro.com/blog/2012/12/30/oauth2-summary
ココらへんに載ってました。
gspreadについて
gspreadのAPIリファレンスはここに載ってます。
https://gspread.readthedocs.io/en/latest/user-guide.html#getting-all-values-from-a-row-or-a-column
ついでこちらのサイトも参考にさせていただきました。
https://www.yoheim.net/blog.php?q=20160205
それぞれの用途に親切に説明してくれているためこちらも参考にしました。
https://tanuhack.com/python/library-gspread/
それぞれのcellごとにlistで一括取得をしたかったので、
.get_all_values() を使用。
今回の手順は
1、google経由で取得したjsonを用いてシートにアクセス
2,スプレッドシートから情報を取得
gspreadならばシートの作成、値の挿入・削除・更新など基本的なことはできるようです。
以下に今回のコードを残します。
import gspread
def get_connection_gs(): #指定したspreadsheetに接続
scope = ['https://spreadsheets.google.com/feeds',
'https://www.googleapis.com/auth/drive']
credentials = ServiceAccountCredentials.from_json_keyfile_name(\
'jsonのファイル名.json', scope) #ダウンロードしたjsonファイルを指定
gc = gspread.authorize(credentials)
sh = gc.open('シート名').sheet1 #作成したスプレッドシートの名前を指定、何番目のシートか?
return(sh)
def get_solication_list(sh): #リストの値を取得
author_list = sh.get_all_values() #スプレッドシートの全値を取得
得られたものはlistとして取得され、
上記の場合は
[[1,1,1,1], [2,2,2,2]]のような入れ子のリストで取得されます。
列単位で消したい場合はnp.arrayにて配列にしてnp.deleteを行うと楽かもです。
この記事が気に入ったらサポートをしてみませんか?