首頁 > 後端開發 > Python教學 > 我如何透過將 Python 連接到 Google Sheets API 來自動化我的工作流程

我如何透過將 Python 連接到 Google Sheets API 來自動化我的工作流程

DDD
發布: 2024-11-17 19:09:02
原創
245 人瀏覽過

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

介紹

幾個月前,我遇到了一個熟悉的問題。我正在開發一個項目,需要管理需要頻繁更新和協作的大型資料集。起初,我將所有內容都儲存在 Excel 中,並認為這很簡單。但我加入的資料越多,Excel 的速度就越慢。我會保存我的工作,嘗試更新一些單元格,然後觀察需要幾分鐘才能做出回應。這是一場惡夢。每次我嘗試與團隊成員合作時,我都必須發送文件的新版本,這很快就會變得混亂並且容易出錯。我意識到我需要一種即時更新和共享資料的方法,而 Excel 無法有效處理大型資料集。

就在那時,我發現了 Google Sheets 與 Python 結合的強大功能。 Google Sheets 提供了雲端儲存的靈活性,允許多個使用者同時存取和更新數據,而 Python 提供了強大的資料操作功能。使用 Google Sheets API,我能夠將 Python 與 Google Sheets 無縫集成,創建一個自動更新資料、管理即時變更並消除版本衝突的系統。這是我如何設定它的指南,其中包含幫助您開始自己的專案的範例。

*解決方案:*

透過 Python 使用 Google Sheets API
將 Python 連接到 Google Sheets 可以讓您輕鬆地自動執行任務、取得資料和更新工作表。 Google Sheets API 支援以程式設計方式存取 Google Sheets,為資料管理提供無限可能。

使用 Python 設定 Google Sheets API 的逐步指南

1. 設定您的 Google Cloud 項目

首先,您需要在 Google Cloud Console 中建立一個專案:

前往 Google Cloud Console 並建立一個新專案。
為此專案啟用 Google Sheets API 和 Google Drive API,因為您需要這兩個 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 是一個 Python 函式庫,可簡化與 Google Sheets 的互動。

3. 取得存取Google表格的權限

在透過 API 與 Google Sheets 互動之前,您需要正確配置權限,以允許您的服務帳戶或 OAuth 憑證存取特定工作表。

透過服務帳戶電子郵件分享您的 Google 試算表:
如果您使用的是服務帳戶,您會注意到 JSON 檔案包含電子郵件地址(例如 your-service-account@your-project.iam.gserviceaccount.com)。為了讓服務帳戶存取您的 Google 表格,您必須與此電子郵件地址共用表格。
開啟您要使用的 Google 試算表。
點選工作表右上角的共用。
輸入服務帳戶電子郵件地址並將權限設定為編輯者。
點擊“發送”以保存這些更改。

2。確保正確的 API 範圍:
設定 Google Cloud 專案時,請確保包含必要的 API 範圍以允許讀取和寫入 Google 試算表。在您的 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 Sheets 都將開啟一個充滿無限可能的世界。

透過這些範例,您應該已經準備好開始自動化您自己的工作流程,並擺脫那些會降低您的工作效率的過時方法。

在 Linkedin 上追蹤我
https://www.linkedin.com/in/kevin-meneses-897a28127/
和中
https://medium.com/@kevinmenesesgonzalez/subscribe
訂閱資料脈衝通訊
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中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板