コピペでいける、Googleスプレッドシートでシートの内容をJSON形式でダウンロードする方法(Google Colab使用)


【コピペ可能】 GoogleスプレッドシートをJSON形式でダウンロードする方法

まずはコードから。
Google Colabを開いて、下に記載された2つのコードをコピペするだけで指定したシート内の値をJSON形式でPCのローカルにダウンロードすることが可能です。

1.認証

下のコードをColab上で実行すると、認証を行うためのリンクなどが表示されるので、画面の指示に従って実行してください。

from google.colab import auth
from oauth2client.client import GoogleCredentials
import gspread

auth.authenticate_user()
gc = gspread.authorize(GoogleCredentials.get_application_default())

2.JSON形式でダウンロード

下記のコードをColabにコピペして、ダウンロードしたいスプレッドシートのファイル名JSON形式でダウンロードしたいシート名 というところを書き換えてから、実行してください。
ローカルPCにJSONファイルがダウンロードされます。

import os
import json
from google.colab import files

ss_name = "ダウンロードしたいスプレッドシートのファイル名"
workbook = gc.open(ss_name)
worksheet = workbook.worksheet("JSON形式でダウンロードしたいシート名")
dict_list = worksheet.get_all_records()

temp_file_path = worksheet.title + '.json'

with open(temp_file_path, 'w') as f:
  f.write(json.dumps(dict_list))

files.download(temp_file_path)

os.remove(temp_file_path)

解説

今回の処理に関する簡単な解説のようなものを書き残しておきます。

Colab内にデフォルトでインストールされているgspreadというライブラリを利用して今回の処理を実行しています。

gspreadget_all_records()を使うことで、シート内の値をdict(辞書)のリストとして取得することができるので、そちらを元にしてJSONデータを作成、その後一度ファイルに書き出した後にローカルにダウンロードしています。
書き出したファイルは最後に削除を行うため、何度でも繰り返し実行できるようにしています。

最後に

Google スプレッドシートの内容をJSON形式でダウンロードする方法としては、他にGoogle Apps Scriptに処理を書いて実行する方法もありますが、Google Colabならこれらのコードをコピペすれば1分ほどでJSONファイルのダウンロードが実現できるので、思いついたときにサクッと実行できて便利!と思ったので、こちらに書かせていただきました。

他にもっと楽にJSON形式でダウンロードできる方法をご存知の方がいらっしゃいましたら、コメント頂けますと幸いです!

Google スプレッドシートをGoogle Colabから扱う方法については、以前Qiitaにも書いていますので、併せてご紹介させていただきます。
上に書いたコードをアレンジするときなどにもご利用いただけたらと思います。
Google ColabからGoogle スプレッドシートを扱うときのサンプルコードまとめ