Решил написать сначала в ветке “Python для Новичков”, но почему-то передумал
Вступление:
Есть Google Таблица (далее просто таблица), столбцы Номер , Баланс, и ещё ряд ячеек
Есть скрипт. В нем реализован класс параметров номера, в т.ч. атрибуты row (номер строки, в которой находится номер в таблице) и cells (список ячеек таблицы, находящиеся на той же строке, что и номер)
Есть словарь base, в котором ключ - это номер телефона, а значение - экземпляр класса параметров номера.
Использую модуль gspread.
wks_range - список всех ячеек таблицы. Один элемент списка - это экземпляр класса gspread.cell с атрибутами row,cell и value. Если вывести на экран один из элементов списка, выглядеть будет так:
<Cell R63C1 '9629429549'>
Очевидно, R - номер строки, в которой находится ячейка, C - номер столбца, строка - значение ячейки
Часть скрипта:
for num in base.keys(): for cell in wks_range: if base[num].row==cell.row: base[num].cells.append(cell)#ячейки, относящиеся к номеру
Если в интерактивном режиме, после отработки скрипта, проверки и обнаружения ошибки запустить следующее:
>>> for num in base.keys(): base[num].cells=[] >>> for num in base.keys(): for cell in wks_range: if base[num].row==cell.row and base[num].row!=None: base[num].cells.append(cell) if len(base[num].cells)>4: print(num)
То результатов никаких не выводится, т.е. в интерактивном режиме максимальная длина списка такая, какая и должна быть.
Подскажите, пожалуйста, в чем тут фишка?