为 google 工作表中的列的每个单元格获取颜色代码

fetching color code for each cell of a column in google sheets

我正在尝试使用 pygsheets 获取 google sheet 的每个单元格的颜色代码。正在使用的代码块:

import pygsheets
gc = pygsheets.authorize(service_file='credentials.json')
sh = gc.open('golden dataset')
wks = sh[0]

count = 1
color_code = []
while count<27628:
        cell = pygsheets.Cell('J'+str(count),worksheet=wks)
        color_code.append(cell.color)

其中 27628 是列长度,'golden dataset' 是 sheet 名称,credentials.json 有助于连接 google_sheets 和 python。虽然,这工作正常,但对于一列来说非常慢(大约需要 7-8 小时)。有没有更快的方法来做到这一点?谢谢

您可以使用 get_all_values 和 cells 作为 return 类型。

import pygsheets
gc = pygsheets.authorize(service_file='credentials.json')
sh = gc.open('golden dataset')
wks = sh[0]

cells = wks.get_all_values(returnas='cell', include_tailing_empty=False, include_tailing_empty_rows=False)
# adjust if you need trailing empty cells too

color_code = []
for r in cells:
  for c in r:
    color_code.append(c.color)

如果您想以自定义批次获取数据,可以使用 get_values 以及 wks.rowswks.cols