Python 要讀權Google Sheets要先開啟Google雲端硬碟(Google Drive)和Google Sheets的API。
相關參考步驟:
Python 學習筆記- 開啟Google雲端硬碟和Google Sheets的API功能
完成上面的步驟後,接下來的步驟如下:
1. 找出前文開啟Google雲端硬碟時下載的金鑰JSON檔案。
以Windows內建的記事本開啟,找到client_email這行,將塗掉的那串複製起來備用。
2. 設定Google Sheets共用
先到Google雲端硬碟選擇檔案,按右鍵點選共用
把上面client_email中複製的內容貼到與他人共用中,點選傳送
你確定嗎?點選是
3. 開啟Google Sheets檔案,查看內容
把網址中d/至/edit中的文字複製下來,到時候程式會用到
3. 開始寫程式了
auth_json_path這裏就是放你的json檔
spreadsheet_key_path這裏就是放上面d/至/edit中的文字
import pandas as pd import gspread from oauth2client.service_account import ServiceAccountCredentials def auth_gss_client(path, scopes): credentials = ServiceAccountCredentials.from_json_keyfile_name(path, scopes) return gspread.authorize(credentials) auth_json_path = 'auth_mykey.json' #由剛剛建立出的憑證,放置相同目錄以供引入 gss_scopes = ['https://spreadsheets.google.com/feeds'] #我們想要取用的範圍 gss_client = auth_gss_client(auth_json_path, gss_scopes) #呼叫我們的函式 #從剛剛建立的sheet,把網址中 https://docs.google.com/spreadsheets/d/〔key〕/edit 的 〔key〕的值代入 spreadsheet_key_path = '1J87UIVms_5xYhDX_r1234podusj_ZP9807G0bM' #我們透過open_by_key這個method來開啟sheet sheet = gss_client.open_by_key(spreadsheet_key_path).sheet1 df = pd.DataFrame(sheet.get_all_records()) df
Out[1]:
學校代碼 | 學校名稱 | 日間∕進修別 | 等級別 | 一年級男生 | 一年級女生 | 二年級男生 | 二年級女生 | 三年級男生 | 三年級女生 | … | 五年級男生 | 五年級女生 | 六年級男生 | 六年級女生 | 七年級男生 | 七年級女生 | 延修生男生 | 延修生女生 | 縣市名稱 | 體系別 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 國立政治大學 | D 日 | D 博士 | 96 | 85 | 82 | 78 | 93 | 59 | … | 71 | 52 | 58 | 46 | 74 | 40 | 0 | 0 | 30 臺北市 | 1 一般 |
1 | 1 | 國立政治大學 | D 日 | M 碩士 | 624 | 742 | 632 | 695 | 348 | 431 | … | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 30 臺北市 | 1 一般 |
2 | 1 | 國立政治大學 | D 日 | B 學士 | 899 | 1287 | 890 | 1332 | 878 | 1325 | … | 0 | 0 | 0 | 0 | 0 | 0 | 326 | 463 | 30 臺北市 | 1 一般 |
3 | 1 | 國立政治大學 | N 職 | M 碩士 | 303 | 248 | 253 | 259 | 201 | 210 | … | 53 | 47 | 0 | 0 | 0 | 0 | 0 | 0 | 30 臺北市 | 1 一般 |
4 | 2 | 國立清華大學 | D 日 | D 博士 | 225 | 99 | 201 | 71 | 189 | 73 | … | 158 | 50 | 112 | 43 | 168 | 58 | 0 | 0 | 18 新竹市 | 1 一般 |
… | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … |
807 | 1293 | 崇仁醫護管理專科學校 | D 日 | 5 五專 | 89 | 550 | 89 | 610 | 81 | 620 | … | 70 | 560 | 0 | 0 | 0 | 0 | 15 | 53 | 10 嘉義縣 | 2 技職 |
808 | 3002 | 臺北市立大學 | D 日 | D 博士 | 14 | 20 | 16 | 14 | 17 | 18 | … | 13 | 22 | 9 | 12 | 22 | 38 | 0 | 0 | 30 臺北市 | 1 一般 |
809 | 3002 | 臺北市立大學 | D 日 | M 碩士 | 124 | 252 | 112 | 228 | 82 | 134 | … | 10 | 39 | 12 | 34 | 0 | 0 | 0 | 0 | 30 臺北市 | 1 一般 |
810 | 3002 | 臺北市立大學 | D 日 | B 學士 | 566 | 725 | 524 | 682 | 583 | 692 | … | 0 | 0 | 0 | 0 | 0 | 0 | 165 | 139 | 30 臺北市 | 1 一般 |
811 | 3002 | 臺北市立大學 | N 職 | M 碩士 | 98 | 271 | 87 | 237 | 44 | 119 | … | 19 | 23 | 14 | 28 | 0 | 0 | 0 | 0 | 30 臺北市 | 1 一般 |
812 rows × 22 columns