如何使用 gspread python lib 从带有过滤器的工作表中获取所有值?
How to get all values from a worksheet with a filter using gspread python lib?
以下是从工作表中获取所有值作为列表列表的方法:
list_of_lists = worksheet.get_all_values()
但是如何使用筛选器从工作表中获取所有值?
例如,我在工作表中有 IS_ACTIVE 列。所以我只需要在 IS_ACTIVE=1.
的位置获取值
我认为最好的办法是在抓取工作表后对数据进行排序。这可能是一种较慢的方法,但至少是直截了当的。
list_of_lists = worksheet.get_all_values()
filtered_list = []
for i in list_of_lists:
if i[<index of IS_ACTIVE column>] == 1:
filtered_list.append(i)
如果您熟悉函数式编程并且想变得更高级,可以使用带有 lambda 的内置过滤器方法。 Docs here.
list_of_lists = worksheet.get_all_values()
filtered_list = list(filter(lambda i: i[<index of IS_ACTIVE column>] == 1, list_of_lists))
以下是从工作表中获取所有值作为列表列表的方法:
list_of_lists = worksheet.get_all_values()
但是如何使用筛选器从工作表中获取所有值?
例如,我在工作表中有 IS_ACTIVE 列。所以我只需要在 IS_ACTIVE=1.
的位置获取值我认为最好的办法是在抓取工作表后对数据进行排序。这可能是一种较慢的方法,但至少是直截了当的。
list_of_lists = worksheet.get_all_values()
filtered_list = []
for i in list_of_lists:
if i[<index of IS_ACTIVE column>] == 1:
filtered_list.append(i)
如果您熟悉函数式编程并且想变得更高级,可以使用带有 lambda 的内置过滤器方法。 Docs here.
list_of_lists = worksheet.get_all_values()
filtered_list = list(filter(lambda i: i[<index of IS_ACTIVE column>] == 1, list_of_lists))