Как получить все значения из рабочего листа с фильтром, используя библиотеку gspread python? - PullRequest
1 голос
/ 27 июня 2019

Вот способ получить все значения из листа в виде списка списков:

list_of_lists = worksheet.get_all_values()

Но как получить все значения из листа с фильтром?

Например, у меня есть столбец IS_ACTIVE на листе. Поэтому мне нужно получать значения только там, где IS_ACTIVE = 1 .

1 Ответ

2 голосов
/ 27 июня 2019

Я думаю, что вам лучше всего отсортировать данные после того, как вы очистите лист. Это может быть более медленный подход, но, по крайней мере, он будет прямым.

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)

Если вы знакомы с функциональным программированием и хотите проявить фантазию, вы можете использовать метод встроенного фильтра с лямбда-выражением. Документы здесь.

list_of_lists = worksheet.get_all_values()
filtered_list = list(filter(lambda i: i[<index of IS_ACTIVE column>] == 1, list_of_lists))
...