Как сделать компаратор, который выбирает определенную строку в зависимости от характеристик?

Итак, я пытаюсь сделать компаратор подписок на основе таблиц Google. G листы имеют характеристики подписки в первой строке, а каждая вторая строка является подпиской (g листов, чтобы вы поняли, что я имею в виду) Я пробовал разные методы, но они не помогли ни с одним из них (этот был отличный, но он отправил слишком много запросов, и поэтому API заблокировал меня после 100 запросов/100 секунд. Я также пытался применить метод ссылки/отключения связи для пакетных команд, но это тоже не сработало).

Поэтому мне понадобится ваша помощь. У меня очень мало знаний о питоне. Я загрузил pygsheets, но на самом деле мне все равно, что мне нужно сделать, чтобы добиться успеха.

Если вам нужен пример, это будет что-то вроде этого: пользователь вводит то, что он хочет по цене, ГБ мобильных данных и т. д., и он возвращает подписку, соответствующую его критериям. Здесь я просто прошу решить первую часть, состоящую в том, чтобы иметь строки, соответствующие критериям; Проблема ввода пользователем критериев пока не актуальна.


person TechFan_Theo    schedule 04.11.2020    source источник
comment
пожалуйста, укажите, что именно вы ищете (возможно, с примером), ваш вопрос очень неясен.   -  person Nithin    schedule 04.11.2020
comment
@Nithin Я отредактировал сообщение. Я надеюсь, что это яснее.   -  person TechFan_Theo    schedule 05.11.2020
comment
Ваш вопрос мне до сих пор не ясен. Используя данные в своем листе образцов, приведите пример того, что вы хотите и где вы хотите, чтобы это отображалось, вводя результат вручную, если это необходимо. Например. какие значения будет вводить пользователь - ГБ в месяц, стоимость и т. д.? - используя реальные значения, и покажите, какие результаты должны выдаваться и с какого листа. У вас много листов, и мне непонятно, как их использовать для фильтрации ваших результатов.   -  person kirkg13    schedule 05.11.2020
comment
Вот две записи экрана моего ПК, одна из которых показывает, что я хочу, чтобы мой код делал, а другая — объяснение моих листов Google. youtu.be/6yggsn9MXh4 youtu.be/ug6JL_TuN3E. Если мое объяснение недостаточно ясно, возможно, мы могли бы сделать звонок в Discord или что-то в этом роде. Это позволило бы мне лучше объяснить вам, что я хочу, чтобы мое приложение делало.   -  person TechFan_Theo    schedule 06.11.2020
comment
Извините, но обычно люди здесь не хотят смотреть видео на YouTube, чтобы узнать, в чем заключается ваша проблема. Ваш вопрос и образец листа должны содержать всю необходимую информацию, чтобы этот вопрос и ответ также могли помочь будущим людям с похожими проблемами. См. здесь, как задать хороший вопрос: stackoverflow.com/help/how-to-ask. А для вопросов, связанных с Google Sheets, ваш образец листа должен содержать минимальное количество информации, необходимой для четкого представления проблемы, чтобы показать, что вы пробовали, но не сработало, и как вы хотите, чтобы результат выглядел.   -  person kirkg13    schedule 06.11.2020
comment
Я понял и попытался объяснить, но безуспешно.   -  person TechFan_Theo    schedule 08.11.2020


Ответы (1)


Я не совсем понимаю, что вы имели в виду под компаратором подписки. В любом случае, основываясь на вашем связанном вопросе, я обновил принятый ответ, чтобы уменьшить количество вызовов API.

#list of all values in 4th/price column
prices=wks.get_cols(4) 
#Remove nonnumeric characters from prices
prices=[p.replace('*','') for p in prices[1:]]

#Get indices of rows with price >=50
##i+2 to account for one indexing and removing header row
indices=[i+2 for i,p in enumerate(prices) if float(p)>=50]
#get these rows
rows = wks.get_values_batch([(str(x), None) for x in indices])
person Nithin    schedule 06.11.2020
comment
Я получаю эту ошибку: AttributeError: объект «Рабочий лист» не имеет атрибута «get_values_batch» | wks определяется как wks = gc.open_by_url('theurl.com').worksheet(Feuille) .| Но я думаю, что ошибка относится не к этому. Ошибка заключается в том, что я ссылаюсь на понятие рабочего листа библиотеки API, а не на переменную, которую я создал. Может быть, get_values_batch не существует? - person TechFan_Theo; 08.11.2020
comment
Кстати, что я имел в виду под подпиской, какой план для телефона, интернета; ТЕЛЕВИЗОР. Вот, например, один компаратор планов: whistleout.com - person TechFan_Theo; 08.11.2020
comment
это новая функция, пожалуйста, установите промежуточную версию. pip install --upgrade github.com/nithinmurali/pygsheets/archive/staging.zip - person Nithin; 08.11.2020
comment
О, вы смешиваете gspread и pygsheets. Мой ответ касается только pygsheets, так как вы пометили pygsheets. Пожалуйста, используйте только одну библиотеку. - person Nithin; 08.11.2020
comment
Насколько я понимаю, у вас не может быть pyghseets без gpsread, но я бы посмотрел дальше и связался с вами. - person TechFan_Theo; 08.11.2020
comment
Как вы пришли к такому выводу? Я автор pygsheets. Это отдельная библиотека. Пожалуйста, ознакомьтесь с документами. - person Nithin; 10.11.2020