这是从工作表中获取所有值作为列表列表的方法:
list_of_lists = worksheet.get_all_values()
但是如何从带有过滤器的工作表中获取所有值?
例如,我在工作表中有 IS_ACTIVE 列。因此,我只需要在 IS_ACTIVE = 1 处获取值。
答案 0 :(得分:2)
我认为最好的选择是在抓取工作表之后对数据进行排序。这可能是一种较慢的方法,但至少会很简单。
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)
如果您熟悉函数式编程并且想花哨的话,可以将内置的filter方法与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))