MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
Pythonの応用 - Google Sheets APIのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
Pythonの応用 - Google Sheets API
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == * 大量のデータを扱う場合 *: gspread-pandas *: <br> * 細かい書式設定が必要な場合 *: gspread *: Google Sheets API <br><br> == サービスアカウントキー == サービスアカウントキーは、Google Cloud Platformで発行されるサービスアカウントの認証情報が含まれるJSONファイルである。<br> <br> 以下に示す手順で取得することができる。<br> <br> # Google Cloud Platform (GCP) でのセットアップ ## GCPコンソール (https://console.cloud.google.com/) にアクセスする。 ## プロジェクトを作成または選択する。 ## Google Sheets APIとGoogle Drive APIを有効化する。 #: <br> # サービスアカウントの作成 ## GCPコンソールの[IAMと管理] - [サービスアカウント]に移動する。 ## [サービスアカウントを作成]を選択する。 ## 名前と説明を入力する。 ##: 例: spreadsheet-automation ## 適切な権限を付与する。 ##: 例: [編集者]ロール #: <br> # 認証情報 (JSONキー) の取得 ## 作成したサービスアカウントを選択する。 ## [鍵]タブから[鍵を追加] - [新しい鍵を作成]を選択する。 ## キーのタイプで[JSON]を選択する。 ## ダウンロードされるJSONファイルが"your-credentials.json"に相当する。 <br> Google Cloud Platformでは、このファイルは以下のような名前で自動的にダウンロードされる。<br> <プロジェクトID>-<ユニークID>.json # 例: my-project-123456-458ad41e85a9.json <br> 開発者は、このファイルを任意の名前 (credentials.json等) にリネームして使用する。 ただし、セキュリティの側面から元のファイル名をそのまま使用することも推奨されている。 サービスアカウントキーの内容は、以下に示すような構造になっている。<br> <syntaxhighlight lang="json"> { "type": "<サービスアカウント>", "project_id": "<プロジェクトID>", "private_key_id": "<秘密鍵ID>", "private_key": "<秘密鍵の内容>", "client_email": "<サービスアカウントのメールアドレス>", "client_id": "<クライアントID>", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/..." } </syntaxhighlight> <br> <u>※注意</u><br> <u>サービスアカウントキーは秘密鍵を含むため、絶対に公開してはならない。</u><br> <u>そのため、環境変数や設定ファイルとして安全に管理することが推奨される。</u><br> <br> <u>サービスアカウントキーを使用する前に、対象のスプレッドシートをサービスアカウントのメールアドレス (client_email) と共有する必要がある。</u><br> <br><br> == スプレッドシートのオープン == <syntaxhighlight lang="python"> import gspread from oauth2client.service_account import ServiceAccountCredentials # OAuth2の認証設定 scope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive'] credentials = ServiceAccountCredentials.from_json_keyfile_name('<your-credentials.json>', scope) gc = gspread.authorize(credentials) # スプレッドシートを開く worksheet = gc.open('<スプレッドシート名>').sheet1 # セルの書式設定例 worksheet.format('A1:D1', { "backgroundColor": {"red": 0.8, "green": 0.8, "blue": 0.8}, "horizontalAlignment": "CENTER", "textFormat": {"bold": True} }) </syntaxhighlight> <br><br> == レート制限への対応 == <syntaxhighlight lang="python"> import time def retry_with_backoff(func, max_retries=5): for i in range(max_retries): try: return func() except gspread.exceptions.APIError as e: if e.response.status_code == 429: # リクエストが多すぎる場合 time.sleep(2 ** i) # 指数バックオフ else: raise </syntaxhighlight> <br><br> == エラーハンドリング == <syntaxhighlight lang="python"> try: worksheet.format('A1:D1', {...}) except gspread.exceptions.APIError as e: print(f"APIエラーが発生 : {e}") </syntaxhighlight> <br><br> == データフレームを使用した操作 == pandasライブラリおよびgspread-pandasライブラリを組み合わせることにより、データフレームを使用した操作を簡単に行うことができる。<br> <br> <syntaxhighlight lang="python"> from gspread_pandas import Spread import pandas as pd # スプレッドシートに接続 spread = Spread('<スプレッドシート名>') # データフレームの作成と書き込み df = pd.DataFrame(your_data) spread.df_to_sheet(df, index=False, sheet='Sheet1') </syntaxhighlight> <br><br> {{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux |image=/resources/assets/MochiuLogo_Single_Blue.png }} __FORCETOC__ [[カテゴリ:Python]]
Pythonの応用 - Google Sheets API
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse