---
# System prepended metadata

title: python讀寫google sheet
tags: [python, GoogleSheets]

---

# python讀寫google sheet

## 前言
Python 是一個強大的程式語言，擁有豐富的套件，可以協助我們處理各種任務，包括資料處理。而 Google Sheet 是一個常用的雲端試算表工具，許多人在日常工作中都需要與其進行資料交互。本文將教您如何使用 Python 輕鬆讀寫 Google Sheet，讓您可以更有效地管理和處理資料。

## 1. 安裝套件
首先，需要安裝必要的 Python 套件，以便與 Google Sheet 進行互動。使用以下命令來安裝：
```bash
pip install pygsheets
```

## 2. 建立 Google API 憑證
在進行操作之前，需要設置 Google API，以便 Python 能夠訪問 Google Sheet。按照以下步驟進行：

1. 前往[Google 開發者控制台](https://console.cloud.google.com/apis/dashboard?project=gothic-calling-410801)，並登入您的 Google 帳戶。

2. 在「憑證」頁面，建立一個新的憑證，選擇「服務帳戶」。
    ![image](https://hackmd.io/_uploads/Hy47Xcol0.png)
3. 建立金鑰，下載 JSON 格式的憑證文件，將其命名為 credentials.json，並保存在您的項目目錄中。
    ![image](https://hackmd.io/_uploads/BkRhm9sxC.png)
4. 在 Google Sheet 裡面，加入剛剛申請的服務帳號 ID(在「憑證」頁面中，服務帳戶列表會列出剛剛創建的服務帳)


## 3. 程式碼
編寫 Python 程式來讀寫 Google Sheet。以下是一個簡單的範例：

```python=
import pygsheets
import pandas as pd

## 設置憑證
gc = pygsheets.authorize(service_file='./credentials.json')
sht = gc.open_by_url( 'https://docs.google.com/spreadsheets/google/sheet/url')

## 選擇要操作的 Google Sheet
# 
# 讀取全部工作表
wks_list = sht.worksheets()
# 指定工作表
wks = sht.worksheet_by_title('demo') 

## 讀取資料
#
# 讀取單一儲存格值
data_a1 = wks.get_value('A1') 
# 以dataframe形式讀取資料
df_1 = pd.DataFrame(wks.get_all_records())
df_2 = wks.get_as_df(start='A1', index_colum=0, empty_value='', include_tailing_empty=False) 

## 寫入資料
#
# 新增/更新儲存格
wks.update_value('A1', 'test') 
# 以dataframe形式寫入資料
df1 = pd.DataFrame({'a': [1, 2], 'b': [3, 4]})
wks.set_dataframe(df1, 'A2', copy_index=True, nan='')

```
[參考網址](https://pygsheets.readthedocs.io/en/stable/worksheet.html)

## 總結

透過這個簡單的python程式碼，就可以輕鬆讀寫Google Sheet，讓資料管理更加方便。可以根據不同需求，進一步擴展這個程式，以滿足更複雜的資料處理需求，像是可以透過爬蟲將要紀錄的部分存到Google Sheet中，這樣在看資料時就不需要開啟本地檔案，在外地開啟網頁就可以看到結果。