Google表是Excel的最受歡迎和廣泛使用的替代方案之一,它提供了一個協作環境,具有實時編輯,版本控制和與Google Suite無縫集成等功能,使用戶可以在Google文檔中致電Google Sheept,並利用Google Workspace的最佳功能。雖然您可以使用pandas輕鬆地加載和使用Excel文件,但可以通過pandas進行編程,但可以用Google表複製類似的設置。作為SaaS產品,訪問Google表數據需要使用其API,該數據支持各種編程語言,包括Java,JavaScript,Node.js,PHP,Ruby,Python, Python和Google自己的AppScript。本文著重於使用Python有效地將Google Sheape數據加載到PANDAS數據框架中,從而可以快速數據轉換和分析。更改完成後,GSPREAD PYTHON庫可用於將更新的數據推回Google表格,從而提供了一個方便的界面,以與Google Shealess API進行交互。
本文作為數據科學博客馬拉鬆的一部分發表。
目錄
- 設置您的Google Cloud項目
- 了解gspread
- 建立連接和開頭電子表格
- 創建和管理Google表格
- 管理工作表
- 細胞性質
- 添加新的行和列
- 獲取單元格和範圍值
- 更新單元格
- 刪除行和列
- 搜索單元格
- 格式化細胞
- 清晰的單元格和工作表
- Google API的局限性
- 常見問題
設置您的Google Cloud項目
如前所述,Google表是SaaS的產品,因此您需要準備自動化的額外步驟。流行的雲計算平台Google Cloud Platform(GCP)提供了各種服務,可幫助與Google產品互動以及您的自定義項目的部署。
從廣義上講,我們需要遵循這三個步驟,以開始使用Google Sheales Automation。
創建和配置Google雲項目
前往https://console.cloud.google.com/並註冊免費帳戶。下一個從左上方,單擊項目選擇菜單,然後選擇新項目。提供一個項目名稱,將組織作為“無組織”,HIT CREATE,您的GCP項目現在設置為“無組織”。
生成和確保API證書
我們需要啟用Google表和Google Drive API並創建一個服務帳戶。這種特殊類型的帳戶使我們能夠訪問和管理Google Cloud資源,而無需人工互動。要啟用Google表API,請在頂部搜索欄中搜索床單,然後選擇“ Google Sheats API”。單擊“允許”,它將將我們重定向到API詳細信息頁面。此處單擊“創建憑據”,它將打開憑據創建表格。
從“選擇”框中選擇“應用數據”,然後單擊下一步。在下一個屏幕上,為服務帳戶提供有意義的名稱,因為您將在以後的步驟中使用它。然後,選擇“編輯器”角色。最後,在底部單擊完成。
同樣,可以啟用Google Drive API。請注意,我們不需要為此API創建另一個服務帳戶。現有的服務帳戶將能夠訪問兩個API。現在,我們需要下載憑據JSON,我們的Python腳本將消耗conference訪問Google表格。單擊新生成的服務帳戶電子郵件,切換到“鑰匙”選項卡,單擊“添加鍵”按鈕以選擇“創建新密鑰”選項,選擇JSON,然後創建。
授予訪問Google表格
我們的Python腳本將使用生成的憑據訪問Google表。但是,我們需要手動授予對腳本將使用的文件的訪問。為此,請複制為服務帳戶生成的電子郵件(在服務帳戶的詳細信息選項卡中找到),然後將其作為所需文件的編輯器添加。
了解gspread
Gspread是Google表的Python API包裝紙。它封裝了Google Sheetsapi在單獨的類和訪問方法下提供的許多功能。它使其與Sheetsapi的互動易於瀏覽,並且可以迅速將其撿起。
要在本地環境中設置庫,可以使用簡單的PIP命令,例如任何其他Python軟件包。將庫在單獨的環境中安裝,以避免任何依賴性衝突。
PIP安裝Gspread
關於單元引用的快速註釋
可以使用兩個流行的符號來引用Google表中的單元格地址:
- A1符號:此單元格參考由表格名稱,行號和列字母組成。此參考文獻無需提及表格名稱,並允許您引用單個單元格,一系列單元格或整列。
- 命名範圍:這是具有自定義名稱的定義範圍,可輕鬆身份識別和簡化的Google表格。
建立連接和開頭電子表格
現在,我們已經設置了必要的訪問和庫,讓我們測試我們的代碼。在包含服務帳戶電子郵件的電子表格中,在第一個單元格中輸入一些隨機文本。我們將嘗試使用Python腳本來檢索此值。
我們將使用JSON模塊加載我們的憑據並將其傳遞到GSPREAD的“ Service_account_from_dict()”功能。這將返回Google表客戶端對象,並且可以使用此對象使用“ Open()”函數打開任何Google表。請參閱下面的代碼。
導入gspread 進口JSON 以f的開放('Creds.json')為f: 憑據= JSON.LOAD(F) gc = gspread.service_account_from_dict(憑據) sh = gc.open(“ arcicleDemo”)
有兩種替代方法可以打開Google表而不是標題名稱。這些替代方法消除了標題名稱依賴關係,就像在Google工作區中一樣,多個文件可以具有相同的標題。對於電子表格,如果有兩個具有相同標題的文件,則最新文件將由API訪問。我們可以使用文件URL或電子表格的唯一ID訪問電子表格,該ID執行以下鏈接:“ https://docs.google.com/spreadsheets/d/preadsheets/d/dunique_id>/edit”。以下是通過URL或唯一ID訪問電子表格的代碼。
##通過唯一ID訪問 sh = gc.open_by_key(“ 1R97TWCM0FFFNSSSRH_0FJDDG-HCQF5PLHBHRXU9PTV_Q”) ##通過URL訪問 sh = gc.open_by_url(“ https://docs.google.com/spreadsheets/d/1r97twcm0fffnssrh_0fjddg-hcqf5plhbhrxu9pplhrxu9ptv_q/edit?
以下代碼將讀取表格前面輸入的值。該代碼的工作將在本文的後面部分中進行解釋。
打印(sh.sheet1.acell('a1')。值)
這將返回表格中A1單元格中存在的值,在我們的情況下,這是“ Gsheet:這是第一個單元格”。現在,我們都將深入研究GSPREAD庫,並探索所有可用的選項。
注意: shvaria可以容納電子表格對象,並將在整個指南中提及
創建和管理Google表格
可能有很多用例以編程方式創建電子表格。一個人可能是為其用戶發布數據和見解的解決方案。隨之而來的是,他們可能想直接與用戶共享此工作表。
- 要創建新的電子表格,請使用GSPREAD客戶端的create()函數。將新電子表格的標題作為參數傳遞,如果要指定位置,請使用folder_id參數。
- 僅由服務帳戶用戶訪問創建的新電子表格。這意味著即使對於創建服務帳戶的用戶,電子表格也不可見。為此,我們可以使用電子表格對象的“共享()”函數。此功能需要3個強制性參數:“ email_address”(電子郵件地址),“ perm_type”(許可類型)和“角色”。權限類型可以採用以下值:用戶,組,域或任何人。對於大多數用例,用戶值將起作用。 PERM_TYPE還具有固定數量的可接受值:“讀者”,“評論者”,“ Writer”,“ Fileorganizer”,“組織者”和“所有者”。還有一些其他可選參數,提供顆粒狀的信息。
- “通知”:以控制用戶是否應收到共享文件的通知的布爾值。
- “ email_message”:將發送的郵件和通知電子郵件發送的字符串值。
sh = gc.create('arcitledemotest')##創建一個新的電子表格 sh.share(email_address ='[Email Protected]',perm_type ='user',prole ='writer',notify = true,email_message =“這是一個測試文件”)
管理工作表
每個電子表格都是工作表的集合。一個簡單的類比是一本書具有多頁的方式。使用GSPREAD,用戶可以訪問,修改,刪除或創建新的工作表。讓我們看一下這些功能。
工作表選擇
可以使用工作表對象的以下方法訪問電子表格對象的工作表:
- 索引訪問: “ get_worksheet()”功能在需要訪問的工作表的索引中。
- 按標題訪問: “工作表()”函數在工作表的標題中獲取。請注意,工作表標題本質上是獨一無二的,因此,沒有兩個工作表可以具有相同的標題。
- DOT符號快捷方式訪問: DOT符號快捷法允許訪問電子表格的第一個工作表,而無需給出標題,索引或ID。
- 訪問全部: “工作表()”功能返回電子表格的所有工作表。它將它們作為GSPREAD工作表對象返回。 “標題”和“ ID”是此類的一些重要屬性,可幫助以龐大的方式訪問所需的工作表。
- ID訪問:在開發自動化腳本時,可能在某些用例中處理工作表ID而不是標題。在這種情況下,可以使用“ get_worksheet_by_id()”功能。
這是所有列出的方法的示例代碼。
打印(sh.get_worksheet(0)) 打印(sh.worksheet(“ aTRECTWORKSHEET1”)) 打印(sh.sheet1) 打印(sh.get_worksheet_by_id(0)) 打印(“現在獲取所有床單...”) ##返回所有工作表 對於sh.worksheets中的WS(): 打印(WS)
所有這些打印語句返回工作表對象
創建新的工作表
除了電子表格中的現有工作表外,我們還可以在同一電子表格中編程創建新的工作表。當從現有工作表處理數據並在單獨的工作表中發布結果時,這種方法可能很有用。
要創建一個新的工作表,我們需要使用工作表對象的“ add_worksheet()”函數。它採用以下參數。
- 標題:工作表的標題
- 行,列,索引(可選):我們需要定義新創建的工作表的行和列數。 “索引”參數是可選的,它控制工作表的排序。
以下代碼將創建一個帶有100行和20列的工作表,並將工作表放在第二個位置。
sh.add_worksheet('tractworksheet1.5',行= 100,cols = 20,index = 1)
它確實將其放置在第二個位置(索引1)
重命名工作表
您可以使用工作表對象的update_title()函數重命名工作表標題,該函數接受新標題作為參數。
打印(sh.worksheet(“ aTRECTWORKSHEET3”)。update_title(“ trictworksheet2.5”))
刪除工作表
可以使用工作表對象的以下函數從電子表格中刪除工作表:
- 使用工作表對象刪除工作表: “ del_worksheet()”功能將工作表對像作為參數,並從電子表格中刪除工作表。
- 使用工作表ID刪除工作表: “ del_worksheet_by_id()”功能將工作表ID作為刪除工作表的輸入。
使用的功能的選擇取決於製作腳本的用例。以下是代碼示例,證明了這兩個功能的使用情況。
sh.del_worksheet(sh.worksheet(“ aTRECTWORKSHEET2.5”)) sh.del_worksheet_by_id('602396579')
細胞性質
我們正在從上到下慢慢縮小,並到達工作表中最小(也是最重要的)單元,即一個單元。單元格是一行和列的交點。對於GSPREAD庫,它擁有以下屬性:
- 行:單元的行號
- Col:單元的列號
- 值:單元的值
- 地址: A1表示法中單元格的地址
以下示例代碼訪問單元格的所有屬性。使用工作表的單元格返回特定的檢查單元格。
samplecell = sh.worksheet(“ aTRECTWORKSHEET1”)。小區(行= 1,col = 1) print('row:{} \ ncolumn:{} \ nValue:{} \ naddress:{}'。格式(Samplecell.Row,samplecell.col,samplecell.col,samplecell.value,samplecell.address.address))
一旦我們處理庫的高階功能,所有這些訪問者就會發揮作用。
添加新的行和列
讓我們開始在現有的示例工作表中添加新的行和列,以便為本指南的後面部分提供一些數據。 Gspread庫以兩種方式支持插入作為操作。
插入特定位置
您可以使用insert_row(),insert_rows()和insert_cols()函數在特定位置插入一行或列。這些功能使我們可以在工作表中的特定位置添加行或列。功能細節如下:
- Insert_row:該函數需要“值”參數作為要插入的值列表。列表中的值順序確定插入行的順序。默認為1的“索引”參數指定行插入的位置。可選參數(例如“ value_input_option”和“ sashit_from_before”)控制該函數如何解釋輸入數據和行,以及它是否應直接推動數據或分析數據,就好像用戶在UI中輸入一樣。
- insert_rows:它以插入多行的“值”參數中的列表列表。每個列表充當一行。在內部,這是如何通過GSPREAD將行插入工作表中的實際實現。 “ insert_row()”函數稱為“ insert_rows()”函數,因此,對於“ insert_row()”函數所描述的所有參數對於“ insert_rows()”為true,除了一個參數。在insert_row()函數中,您可以使用索引參數確定偏移量,而在insert_rows()函數中,您可以使用行參數指定它。
- insert_cols:此函數是“ insert_rows()”功能的複製品,其更改的參數名稱從“行”到“ col”。其餘的可選參數功能保持不變。
表範圍後插入
此插入僅適用於行。它使我們能夠在特定表範圍內插入行,該範圍未知位置。同樣,插入可以單一或多行方式進行。
- append_row:它通過“值”參數將行值作為列表。 “ table_range”參數有助於定義表範圍應發生的表範圍。該範圍以A1表示法給出。
- append_rows:同樣,“ insert_rows()”,“ append_rows()”是表範圍之後的行插入的實際實現。兩個函數的所有參數都與“ append_rows()”列出“值”參數列表的差異保持不變。
這是示例代碼:
- 為列添加一行:a,b,c和d
- 在這些列下添加4行
sampamworksheet.insert_row( ['a','b','c','d'] ) sampleworksheet.insert_rows( [ ['kg',54,23,12], ['og',34,12,34], ['Me',23,45,90], ['ye',65,12,54] ],行= 2 )
現在,讓我們在此上做以下步驟:
- 附加2行要在此表範圍內繼續
- 添加另一列E
sampleworksheet.append_rows( [ ['sn',67,87,45], ['ar',56,23,65] ],, table_range =“ a1:d5” ) sampleworksheet.insert_cols( [ ['e',56,34,65,34,76,45] ],, col = 5 )
注意:示例工作表變量包含工作表對象,並且在整個指南中都將參考。
獲取單元格和範圍值
在最後一節中,我們使用各種插入操作以編程方式準備數據。現在,我們可以使用各種讀取功能獲取插入的數據。我們將看到如何獲取單元格,然後移動以從一系列單元格和整個工作表中獲取值。
獲取單個單元格
工作表上的最基本讀取操作涉及獲取以前部分中所述的值或任何其他單元格屬性。要獲取單個單元格,有兩個功能:
- ACELL:這將在A1表示法中獲取單元格地址並返回單元對象。
- 單元格:這將按(行,列)的順序取用單元格坐標。
這兩個函數都返回一個單元對象,我們已經看到瞭如何從這些對像中獲取值。 ACELL功能在我們與Google Sheets API建立連接的部分中使用。
打印(sampleworksheet.acell('a1')。行) 打印(sampleworksheet.cell(1,1)。值)
獲取工作表或範圍的所有單元格
- 我們可以使用工作表對象的“ get_all_cells()”函數在單元對象列表中獲取工作表的所有單元格。此功能沒有參數,可以在工作表對像上直接調用。
- 要獲取特定範圍的單元對象,請使用工作表對象的範圍()函數。此功能接受各種輸入形式,例如A1表示法,數字邊界或命名範圍。如果沒有輸入,它將在單個API調用中返回工作表中的所有單元格。對於涉及單元格性質的用例,此功能有助於濾除所需的單元格並執行進一步的動作。
print(sampleworksheet.get_all_cells()) 打印(sampleworksheet.range('b4:e5'))
獲取細胞範圍的值
用戶通常在同一工作表中創建多個微型表,以更好地訪問性。在這種情況下,我們需要將獲取範圍改進到這些表範圍的確切地址。要獲取此類表範圍,我們可以使用工作表對象的以下兩個功能:
- get: “ get()”函數將表範圍符合A1符號或命名範圍,並返回值列表。
- batch_get: “ get()”功能只能佔一個範圍,但是如果我們要處理多個範圍,我們可以使用batch_get。此功能使一個API調用,節省了成本。
打印('get範圍:{}'。格式(sampleworksheet.get(“ a1:d4”))) print('批次獲取範圍:{}'。格式(sampleworksheet.batch_get([[[[ “ A1:D4”, “ B4:E3” )))
從行或列獲取所有值
我們可以使用工作表對象的“ Row_values()”和“ Col_values()”函數獲取行或列的所有值。這兩個功能都採用行或列的位置(編號為1),然後返回列表中的值。
打印(sampleworksheet.row_values(1)) 打印(sampleworksheet.col_values(4))
獲取整個工作表值
獲取整個工作表的最佳用例之一是將這些數據直接加載到熊貓數據框架中,然後根據要求進行後處理或分析。可以使用工作表對象的以下功能返回整個數據:
- 列表列表: “ get_all_values()”函數將每一行返回列表,然後在一個列表中列出所有行列表。此函數是對“ get_values()”函數的別名,但有趣的是,“ get_values()”函數是使用“ get(get()”函數實現的。沒有任何輸入的“ get()”函數返回列表。因此,所有3個功能都是相同的。
- 字典列表: “ get_all_records()”函數返回字典列表。每個字典都是一個鍵值映射,其中鍵是第一行值,而值為下一個行值。每一行都有其詞典。默認情況下,它假設第一行是鍵,但是我們可以使用“標頭”參數將另一個行作為鍵。還有一些其他參數,可以幫助處理空細胞和預期的標頭。
您可以將這兩個功能的輸出直接傳遞到熊貓數據框架功能,以作為熊貓數據室獲取工作表表。
導入大熊貓作為pd 打印(pd.dataframe(sampleworksheet.get_all_records())) 打印(pd.dataframe(sampleworksheet.get_all_values()))
更新單元格
更新電子表格的現有數據是最關鍵的功能,可以使用GSPREAD庫功能輕鬆執行。有多種方法可以通過單個API調用來更新電子表格的單元格,單個單元格更新為範圍的多個單元格。
更新單個單元格
可以使用工作表對象的以下功能更新工作表的單個單元格。
- update_acell:此功能需要兩個參數,即A1表示法中的單元格地址和要更新的值
- update_cell:此功能以行列訂單為單元格的坐標和更新的值
- 更新:儘管此功能具有更新多個單元格的更大範圍,但它也可以用於更新單個單元格。輸入參數順序與上述兩個函數不同。 “ update()”函數將列表列表作為第一個值,然後是單元格地址。
打印(sampleworksheet.update_acell('a2','kaustubh')) 打印(sampleworksheet.update_acell('a3','oggy')) 打印(sampleworksheet.update([[['hello']],'a4'))
更新一系列單元格
您可以使用工作表對象的以下兩個功能在工作表中更新一個單元格。
- update_cells:此功能與“ range()”函數結合使用。 “ update_cells()”功能將輸入作為單元格列表。該單元格可以通過從範圍函數返回並訪問其值屬性的單元對像上循環來改變其值。
- 更新:如前所述,您可以使用此功能更新命名範圍或A1註釋範圍。
rangeofcells = sampleworksheet.range('b2:b7') 對於範圍內的細胞: newValue = int(cell.value)10 cell.value = newValue 打印(sampleworksheet.update_cells(rangeofcells))
上面的代碼獲取了一系列單元格,為其值添加10個,並在單個API調用中更新它們。
更新多個單元格
在上面的一節中,我們能夠通過單個API調用更新一個範圍內的多個單元格。此行為也可以擴展到多個範圍。這意味著我們可以用一個呼叫更新多個單元格。 “ batch_update()”函數以鍵和值列表列出了字典列表。範圍鍵值應為A1表示法範圍或命名範圍,而值鍵值作為值列表。
範圍1 ='c2:c7' range2 ='e2:e7' butrangeValues = sampleworksheet.batch_get [[[[ 範圍1, 範圍2 ))) range1values,range2values = butrangeValues range1updatedValues = [[int(x [0])10]在range1values中的x] range2updatedValues = [[int(x [0])20]在range2values中的x] 打印(sampleworksheet.batch_update([[ { “範圍”:range1, “值”:range1updatedValues },, { “範圍”:range2, “值”:range2updatedValues } )))
上面的代碼使用“ batch_get()”函數獲取兩個範圍,然後在本地更新其值,然後使用“ batch_update()”函數將更新的值推回Google表。此更新的輸出看起來像這樣:
刪除行和列
直到這一點,我們還插入,閱讀和更新了工作表中的數據。我們可以執行刪除操作,以從工作表中刪除冗餘或不必要的數據。 “ delete_rows()”和“ delete_colums()”函數採用要刪除的“ start_index”。如果指定了“ end_index”,則它將刪除開始和結束的索引範圍內的所有列。
打印(sampleworksheet.delete_columns(4)) 打印(sampleworksheet.delete_rows(6))
搜索單元格
Google表API使您可以通過匹配字符串或正則表達式來搜索單元格。您可以執行對案例敏感或不敏感的搜索,並根據需要將搜索範圍縮小到特定的行或列。使用這兩個工作表函數查找匹配的單元格:
- 查找: “ find()”函數返回比賽的第一次出現。這將帶有搜索字符串或正則式,“ in_row”或“ in_column”參數,以縮小搜索範圍和“ case_sentive”標誌以控制搜索類型。 “ in”參數為行或列位置(索引1)
- Findall: “ findall()”是“ find()”功能的高級階段,它返回搜索的所有匹配項。
導入 打印(sampleworksheet.find('64',in_column = 2)) searchre = re.compile(r'(a | a)') 打印(sampleworksheet.findall(搜索))
格式化細胞
在Excel中,您可以以各種方式格式化工作表,包括文本亮點,格式,邊框,對齊和眾多功能。 Google表還為單元格提供了多種格式選項。 Google Sheaps單元單元文檔中可以找到整個字段列表。
您可以使用GSpread Worksheet對象的格式()函數來指定要應用格式的單元格或範圍。提供格式為JSON字典,其中包括所有格式的密鑰字段及其值。
以下代碼將對錶的所有單元格應用邊界。
borderformatting = { “樣式”:“固體”, “ colorStyle”:{“ rgbcolor”:{“ red”:0,“綠色”:0,“藍色”:0,“ alpha”:1}}, } 列印( sampleworksheet.format( “ A1:D6”, 格式= { “邊界”:{ “ top”:邊緣形式, “底部”:邊緣形式, “左”:邊緣形式, “右”:邊緣形式, },, },, ) )
我們還可以應用批處理格式,以同時格式化多個範圍。這節省了很多時間為每一個新更改編寫不同的格式。 “ batch_format()”功能獲取包含兩個重要鍵的字典列表。第一個密鑰是定義單元格範圍的範圍鍵和包含格式字典的格式密鑰。
讓我們使用“ batch_format()”函數在我們的示例表上進行以下操作:
- 將邊界應用於表的所有單元格。
- 大膽地將第一行的文本大膽,表明這些是我們表的列。
- 對齊中心中的所有數據。
- 為列添加淺藍色(第一行)。
borderformatting = { “樣式”:“固體”, “ colorStyle”:{“ rgbcolor”:{“ red”:0,“綠色”:0,“藍色”:0,“ alpha”:1}}, } 格式= [ { “範圍”:“ a1:d6”, “格式”: { “邊界”:{ “ top”:邊緣形式, “底部”:邊緣形式, “左”:邊緣形式, “右”:邊緣形式, },, “水平安排”:“中心”, },, },, { “範圍”:“ A1:D1”, “格式”: { “ textformat”:{ “大膽”:是的, },, “ backgroundColorStyle”:{ “ rgbcolor”:{“紅色”:0.8,“綠色”:0.8,“藍色”:1,“ alpha”:0.8} },, },, },, 這是給出的 打印(sampleworksheet.batch_format(格式))
這是我們桌子的最後狀態。
清晰的單元格和工作表
我們可能希望在執行操作之前清除範圍。為了清除單元格範圍,使用工作表對象的“ batch_clear()”函數。這是需要清除的範圍列表。讓我們從我們的示例表中清除C列。
print(sampleworksheet.batch_clear([“ C1:C6”]))
注意:清除函數僅清除值而不是應用的格式。
可以使用工作表對象的“ clear()”函數清除整個工作表。
打印(sampleworksheet.clear())
請查看有關如何使用Python自動化Google表的文章
Google API的局限性
我們使用GSPREAD庫在Google表上進行了許多操作。該庫只是一個包裝器,將用戶通過的數據準備成可接受的格式,並使API調用與床單相關的Google項目。它的工作原理,以便開發人員不需要了解基本的API呼叫,有效載荷和響應。開發人員僅與抽象函數進行交互。
- 了解API配額消耗:開發人員必須了解API調用的配額,尤其是對於生產和關鍵任務。
- 免費但受限的用法:Google表API是免費的,但對可以進行的API呼叫的數量有限制。
- 常見錯誤 - 429(“太多請求”) :許多用戶由於超出API呼叫限製而遇到429錯誤。
- 配額限制示例:當前配額允許每個項目每分鐘300個請求。
- 超過配額:如果腳本發送300多個請求,則不會處理其他請求。
- 指數向後解決方案:使用隨機等待時間的重試機制,可以幫助管理這些限制。
結論
在本指南中,我們創建了一個Google Service帳戶,以執行所有將在Google Shays UI上執行的操作。我們探索了許多功能,例如添加,更新和刪除數據。我們還探索瞭如何使用Python進行格式化和Google表自動化。
Google Sheets API提供了更多功能,例如合併單元格,製作受保護的範圍,隱藏單元格,添加音符,複製範圍,甚至添加過濾器,所有操作以編程方式!儘管GSpread庫的文檔缺乏這些解釋,但可以繼續探索Google Sheeps官方文檔,並檢查GSpread文檔的API參考部分,該文檔的API參考部分提供了有關圖書館中實現的所有功能的高級信息。
關鍵要點
- Google表自動化需要設置Google Cloud項目,這不會造成任何成本。但是,如果您不優化代碼,則可能會耗盡配額,從而導致代碼後期出現錯誤。旨在盡可能使用批處理功能。
- 使用Google表API可以實現的目標有很多可能性,而GSpread庫只是一個起點。應該探索官方文檔以實現圖書館中缺少的功能(也許可以貢獻)
- 您可以使用Google表自動化設置來構建維護主記錄的採購管道,並將其推向更高級的數據庫,例如OLAP數據庫。將這些數據庫連接到BI軟件,例如Tableau,以完成端到端項目。
- Google表自動化可以通過設置自動更新,導入或組織數據的工作流來幫助您消除手動數據輸入,從而大大提高效率。
- 使用Google表自動化,您可以安排重複的任務,例如發送報告,執行計算或更新單元格,從而減少重複手動操作的需求。
常見問題
Q1。如何避免“ 429:太多請求”錯誤?答:應該實施重試機制,以試圖在一段時間內再次提出請求。一個這樣的例子是指數退回算法
Q2。您可以在Google表中進行自動化嗎?答:是的,您可以使用宏, Google Apps腳本以及Zapier或Make(以前是Integromat)(以前是Integrat)等內置功能在Google表中自動化任務。這些允許您自動化重複任務,例如數據輸入,格式和計算。
Q3。 Google有一個自動化工具嗎?答:是的,Google提供了Google Apps腳本,這是一個基於JavaScript的平台,可在Google Workspace應用程序中自動化任務(例如,表,文檔,文檔,Gmail)。 Additionally, tools like Google Cloud Workflows and Zapier integrations can be used for broader automation across Google services.
Q4。 How can I set up Google Sheets automations to save time on repetitive tasks?A. You can set up Google Sheets automations using built-in tools like Macros and Google Apps Script. Macros allow you to record actions and replay them, while Google Apps Script lets you create custom automations using JavaScript. These automations can streamline repetitive tasks such as data entry, formatting, or running specific functions automatically in Google Sheets.
Q5。 What are some popular Google Sheets automations for data analysis?A. Popular Google Sheets automations for data analysis include automated data import from external sources, scheduled reports using Google Apps Script, and conditional formatting to highlight trends. These automations help optimize the data analysis process, making Google Sheets a powerful tool for managing and interpreting large datasets efficiently.
以上是使用Python的Google表自動化|分析Vidhya的詳細內容。更多資訊請關注PHP中文網其他相關文章!

介紹 在Excel中有效地處理數據對於分析師來說可能具有挑戰性。鑑於關鍵的業務決策取決於準確的報告,因此格式化錯誤可能會導致重大問題。本文將幫助您

潛入擴散模型的世界:綜合指南 想像一下,在頁面上觀看墨水,其顏色巧妙地擴散到了迷人的圖案。這種自然擴散過程,其中顆粒從高濃度向低濃度移動

介紹 想像一下,瀏覽複雜的迷宮 - 您的目標是盡快逃脫。 存在幾條路徑?現在,圖片有一張圖的地圖,該地圖突出顯示有希望的路線和死胡同。這就是人造中啟發式功能的本質

介紹 回溯算法是一種有力的解決問題的技術,可以逐步構建候選解決方案。 這是計算機科學中廣泛使用的方法,在丟棄任何Potenti之前,系統地探索了所有可能的途徑

介紹 統計數據是一項至關重要的技能,適用於學術界。無論您是追求數據科學,進行研究還是簡單地管理個人信息,對統計的掌握都是必不可少的。 互聯網,尤其是距離

介紹 嘿,AI愛好者! 歡迎來到AV字節,即您友好的社區來源,以獲取AI的所有事物。扣緊了,因為本週在AI世界中一直很瘋狂!我們有一些令人震驚的東西

介紹 在我們在Raspberry Pi上構建RAG應用程序的系列文章的第二部分中,我們將在第一部分奠定的基礎上擴展,並在該基礎上創建並測試了核心管道。在第一部分中,我們將

介紹 在Andrej Karpathy的病毒推文“英語已成為新的編程語言”之後,這是X上的另一條趨勢推文,說:“未來像選項卡”。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

WebStorm Mac版
好用的JavaScript開發工具

記事本++7.3.1
好用且免費的程式碼編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。