对服务器的请求量不同。为什么?

问题描述 投票:0回答:1

gspread的所有命令都发送请求?

此处错误 429 不会出现

gc = gs.service_account(filename="service_files/creds.json")
wks = gc.open_by_key("url have 35 list")
article = []
price = []
batch_data = wks.worksheets()
for data in batch_data:
    article.extend(data.col_values(3))
    price.extend(data.col_values(4))
print(article)

但是这里出现错误

gc = gs.service_account(filename="service_files/creds.json")
article = []
price = []
for i in range(1,35):
    wks = gc.open_by_key("url have 35 list").get_worksheet(i)
    article.extend(wks.col_values(3))
    price.extend(wks.col_values(4))
print(article)

这是如何运作的? 在第一个示例中,我们发送一次请求,对吗? 在第二个示例中,我们发送请求 35 次,每个用户 35 个请求少于每个用户 60 个请求,是吗?

如果 col_values 发送请求怎么办,为什么第一个示例有效?

google-sheets python-requests google-sheets-api gspread http-status-code-429
1个回答
0
投票

调用服务器:

因此,第二个代码中的总调用次数几乎翻倍:

功能 第一个代码 第二个代码
col_values(3) 35 35
col_values(4) 35 35
通过键打开() 1 35
工作表() 1 0
获取工作表() 0 35
总计 72 140

正如文档中所写,唯一批处理的相关调用似乎是

get()
get_all_values()
batch_get()

https://docs.gspread.org/en/v6.1.3/user-guide.html#getting-all-values-from-a-row-or-a-column

© www.soinside.com 2019 - 2024. All rights reserved.