我正在嘗試使用 gspread從谷歌作業表的前三列讀取資料。我感興趣的三列是ID,NAME和SYMBOL。作業表的名稱是testFile。
如果我像下面這樣嘗試,我可以從第一列中獲取資料。
client = authenticate()
sh = client.open("testFile")
worksheet = sh.get_worksheet(0)
for item in worksheet.col_values(1):
print(item)
但是,我希望同時決議三列中的資料。如果我可以使用列標題讀取值會更好。
我知道我會嘗試這樣來獲取值,但是這樣我最終會得到 quotaExceeded 錯誤或類似的東西,因為它的節奏很慢。
for i in range(1, worksheet.row_count 1):
row = worksheet.row_values(i)
if row[0]=='ID':continue
print(row[0],row[1],row[2])
如何從谷歌作業表的前三列讀取資料?
uj5u.com熱心網友回復:
在你的情況下,下面的修改如何?
從:
for item in worksheet.col_values(1):
print(item)
到:
values = worksheet.get_all_values()
obj = {}
for e in zip(*values):
obj[e[0]] = list(e[1:])
print(obj)
- 在此修改中,所有值都通過一個 API 呼叫來檢索。并且,檢索到的值被轉換為一個物件作為標題標題的鍵。
- 例如,當使用您的示例電子表格時,您可以通過 檢索列“NAME”的值
obj["NAME"]。
- 例如,當使用您的示例電子表格時,您可以通過 檢索列“NAME”的值
或者,
到:
values = worksheet.get_all_records()
res = [e["NAME"] for e in values] # or e["ID"] or e["SYMBOL"]
print(res)
- 在此修改中,您可以檢索可檢索列“NAME”的值。
參考:
- 獲取所有值
- 獲取所有記錄
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/385837.html
標籤:Python 蟒蛇-3.x 谷歌表格 google-sheets-api gspread
上一篇:ctx.message.channel.edit未在每次呼叫命令時運行
下一篇:PythonSeleniumStaleElementReferenceException:訊息:過時的元素參考:元素未附加到頁面檔案
