ホームページ  >  記事  >  バックエンド開発  >  Python を Google Sheets API に接続してワークフローを自動化した方法

Python を Google Sheets API に接続してワークフローを自動化した方法

DDD
DDDオリジナル
2024-11-17 19:09:02169ブラウズ

How I Automated My Workflow by Connecting Python to Google Sheets API

導入

数か月前、私はよくある問題に直面しました。私は、頻繁な更新と共同作業を必要とする大規模なデータセットを管理する必要があるプロジェクトに取り組んでいました。最初は、簡単にできるだろうと思って、すべてを Excel に保存しました。しかし、追加するデータが増えるほど、Excel の速度が遅くなってしまいました。作業内容を保存し、いくつかのセルを更新して、応答に数分かかるのを観察しました。それは悪夢だった。チームメンバーと共同作業しようとするたびに、新しいバージョンのファイルを送信する必要がありましたが、すぐに混乱して間違いが発生しやすくなりました。データをリアルタイムで更新して共有する方法が必要であることに気付きました。これは Excel では大規模なデータセットを効果的に処理できません。

そのとき、Google スプレッドシートと Python を組み合わせた威力を発見しました。 Google スプレッドシートはクラウド ストレージの柔軟性を提供し、複数のユーザーが同時にデータにアクセスして更新できるようにします。一方、Python は強力なデータ操作機能を提供します。 Google Sheets API を使用すると、Python と Google Sheets をシームレスに統合し、データを自動的に更新し、リアルタイムの変更を管理し、バージョンの競合を排除するシステムを作成することができました。ここでは、独自のプロジェクトを開始するのに役立つ例を示した、私が設定する方法のガイドを示します。

*解決策: *

Python で Google Sheets API を使用する
Python を Google スプレッドシートに接続すると、タスクの自動化、データの取得、シートの更新が簡単に行えます。 Google Sheets API を使用すると、Google Sheets へのプログラムによるアクセスが可能になり、データ管理に無限の可能性がもたらされます。

Python を使用して Google Sheets API をセットアップするためのステップバイステップ ガイド

1. Google Cloud プロジェクトをセットアップする

まず、Google Cloud Console でプロジェクトを作成する必要があります。

Google Cloud コンソールに移動し、新しいプロジェクトを作成します。
フルアクセスには両方が必要となるため、このプロジェクトに対して Google Sheets API と Google Drive API を有効にします。
「認証情報」に移動し、「認証情報の作成」をクリックします。要件に応じて、OAuth クライアント ID またはサービス アカウントを選択します。ユーザーの介入を必要としない自動スクリプトの場合は、サービス アカウントをお勧めします。
資格情報が作成されたら、サービス アカウント キーを含む JSON ファイルをダウンロードします。このファイルは Google スプレッドシートへのアクセスを提供するため、安全に保管してください。

2. Python に必要なライブラリをインストールする

Google Sheets API を使用するには、次のライブラリをインストールします:

pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client spread

google-auth と google-api-python-client は、Google の API に接続するために不可欠です。
gspread は、Google スプレッドシートとの操作を簡素化する Python ライブラリです。

3. Google スプレッドシートへのアクセス許可を取得する

API を通じて Google スプレッドシートを操作するには、サービス アカウントまたは OAuth 認証情報が特定のシートにアクセスできるように権限を適切に設定する必要があります。

Google シートをサービス アカウントのメールアドレスと共有します:
サービス アカウントを使用している場合は、JSON ファイルに電子メール アドレス (your-service-account@your-project.iam.gserviceaccount.com など) が含まれていることがわかります。サービス アカウントが Google スプレッドシートにアクセスするには、このメール アドレスでシートを共有する必要があります。
使用する Google スプレッドシートを開きます。
シートの右上隅にある [共有] をクリックします。
サービス アカウントのメール アドレスを入力し、権限を編集者に設定します。
[送信] をクリックして変更を保存します。

2.適切な API スコープを確認します:
Google Cloud プロジェクトを設定するときは、Google スプレッドシートの読み取りと書き込みを許可するために必要な API スコープが含まれていることを確認してください。 Python コードでは、次のスコープを使用して適切な権限を確保します。

スコープ = [
"https://www.googleapis.com/auth/spreadsheets", # Google スプレッドシートへのアクセスと編集用
"https://www.googleapis.com/auth/drive" # Google ドライブへのアクセス用
]

4. 認証して Google シートに接続する

Google スプレッドシートを認証して接続するための Python スクリプトは次のとおりです:

pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client spread

Google Sheets API機能の例

接続すると、Google スプレッドシートでさまざまな操作を実行できるようになります。以下に役立つ例をいくつか示します:

例 1: Google スプレッドシートからデータを読み取る
特定のセル範囲からデータを取得するには:

シートからすべてのデータをリストのリストとして取得します

import gspread
from google.oauth2.service_account import Credentials

# Define the scope and authenticate using the JSON key file
scope = ["https://www.googleapis.com/auth/spreadsheets", "https://www.googleapis.com/auth/drive"]
credentials = Credentials.from_service_account_file("path/to/your/credentials.json", scopes=scope)

# Authorize the client and open the Google Sheet
client = gspread.authorize(credentials)
sheet = client.open("Your Google Sheet Name").sheet1  # Access the first sheet
Replace "path/to/your/credentials.json" with the path to your JSON file, and "Your Google Sheet Name" with the name of your Google Sheet.

特定のセル範囲からデータを取得する

data = sheet.get_all_values()
print("All data:", data)

このコードは、シート内のすべてのデータまたは特定の範囲を取得し、リストのリストとして表示します。

例 2: Google スプレッドシートにデータを書き込む

特定のセルにデータを追加するには:

specific_data = sheet.get("A1:C10")  # Adjust the range as needed
print("Specific data:", specific_data)

例 3: Google スプレッドシートからデータを消去する

特定の範囲のデータを消去する必要がある場合:

特定の範囲のデータを消去する

# Update a single cell
sheet.update("B2", "New Data")

# Update a range of cells
sheet.update("A1:C1", [["Header1", "Header2", "Header3"]])

# Append a new row at the end of the sheet
sheet.append_row(["Row1 Data", "Row2 Data", "Row3 Data"])
These commands allow you to write to individual cells, multiple cells, or append entire rows of data.

例 4: データ更新を自動化する

毎日の統計を追加するなど、データの更新を自動化したい場合:

sheet.batch_clear(["A2:C100"])  # Adjust the range as needed
This code clears all values within the specified range, which is useful for cleaning up data before importing new information.

このスクリプトは、現在の日付とデータ ポイントを含む新しい行を追加するため、毎日の変更の追跡や定期的な更新の自動化に最適です。

結論

Python を使用して Google Sheets API を操作することで、大規模なデータセットの処理方法が変わり、時間を節約し、手作業によるエラーを減らすことができました。データ更新を自動化する必要がある場合でも、リアルタイム情報を取得する必要がある場合でも、単に共同作業を容易にする必要がある場合でも、Python を Google スプレッドシートに接続すると、可能性の世界が広がります。

これらの例を参照すると、独自のワークフローの自動化を開始し、生産性を低下させる時代遅れの方法から離れるための十分な準備が整っているはずです。

Linkedin でフォローしてください
https://www.linkedin.com/in/kevin-meneses-897a28127/
および中
https://medium.com/@kevinmenesesgonzalez/subscribe
Data Pulse ニュースレターを購読する
https://www.linkedin.com/newsletters/datapulse-python-finance-7208914833608478720

Patreon コミュニティに参加してください https://patreon.com/user?u=29567141&utm_medium=unknown&utm_source=join_link&utm_campaign=creatorshare_creator&utm_content=copyLink

以上がPython を Google Sheets API に接続してワークフローを自動化した方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。