无法同时从 a google sheet 的前三列读取数据
Can't read data simultaneously from the first three columns of a google sheet
我正在尝试使用 gspread 从 google sheet 的前三列读取数据。我感兴趣的三列是 ID
、NAME
和 SYMBOL
。 sheet 的名称是 testFile
。
如果我像下面这样尝试,我可以从第一列中获取数据。
client = authenticate()
sh = client.open("testFile")
worksheet = sh.get_worksheet(0)
for item in worksheet.col_values(1):
print(item)
但是,我希望同时解析三列的数据。 如果我可以使用列 headers.
读取值会更好
我知道我可能会这样尝试获取值,但这样我最终会收到 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])
How can I read data from the first three columns of a google sheet?
你的情况,下面的修改怎么样?
发件人:
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 调用检索。并且,检索到的值将转换为 object 作为 header 标题的键。
- 例如,当使用示例电子表格时,您可以通过
obj["NAME"]
检索“NAME”列的值。
或者,
收件人:
values = worksheet.get_all_records()
res = [e["NAME"] for e in values] # or e["ID"] or e["SYMBOL"]
print(res)
- 在此修改中,您可以检索“NAME”列的值。
参考文献:
我正在尝试使用 gspread 从 google sheet 的前三列读取数据。我感兴趣的三列是 ID
、NAME
和 SYMBOL
。 sheet 的名称是 testFile
。
如果我像下面这样尝试,我可以从第一列中获取数据。
client = authenticate()
sh = client.open("testFile")
worksheet = sh.get_worksheet(0)
for item in worksheet.col_values(1):
print(item)
但是,我希望同时解析三列的数据。 如果我可以使用列 headers.
读取值会更好我知道我可能会这样尝试获取值,但这样我最终会收到 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])
How can I read data from the first three columns of a google sheet?
你的情况,下面的修改怎么样?
发件人:
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 调用检索。并且,检索到的值将转换为 object 作为 header 标题的键。
- 例如,当使用示例电子表格时,您可以通过
obj["NAME"]
检索“NAME”列的值。
- 例如,当使用示例电子表格时,您可以通过
或者,
收件人:
values = worksheet.get_all_records()
res = [e["NAME"] for e in values] # or e["ID"] or e["SYMBOL"]
print(res)
- 在此修改中,您可以检索“NAME”列的值。