Есть ли способ использовать нотацию A1 для перебора всего листа Google в Python?

Мне нужно пройти через часть листа до нижней части листа. Однако я застрял в том, как это сделать, и я впервые использую API листов. Могу ли я использовать для этого нотацию A1?

Я проверил документацию здесь.

Кроме того, меня привел к A1 этот вопрос.

Однако, поскольку A1 сохраняются в виде строк, это не очень помогает мне в том, что я делаю.

Возможно, мне нужна другая функция, чтобы найти конец листа и подключить его.

#Retrieve Sheets Data
sheet = client.open("MAC Test").sheet1
data = sheet.get_all_records()
end = 'Class Data!Sheet1'

#Start = 1 for now
start = 1

#Retrieve all rows
for i in range(start, max):
    row = sheet.row_values(i)
    print(row)

Я могу нормально выводить данные в диапазоне, но мне нужно каким-то образом создать переменные для начала и конца диапазона.


person Dean    schedule 27.03.2019    source источник
comment
Возможно, это можно сделать с нотацией A1, но, пожалуйста, опишите более конкретно, какой раздел, т. Е. Диапазон строк и столбцов, вам нужно перебрать?   -  person Inon Peled    schedule 27.03.2019
comment
@InonPeled Итак, на данный момент диапазон, который я делал, был только каждой отдельной строкой, пока на листе не появилась пустая строка (конец листа). Для любой нотации A1 мне нужно было бы указывать точные ячейки для каждой строки, которую я пересекаю?   -  person Dean    schedule 27.03.2019


Ответы (1)


gspread.get_all_records (который, как я полагаю, вы используете) уже должен дать вам количество строк через len(data). Если вам нужны значения строки (а не словарь data, который у вас уже есть), вам просто нужно перебрать range(1, len(data)+1).

Если вам нужно преобразовать индексы строк и столбцов в нотацию A1, это недоступно непосредственно в API Google Таблиц. Однако gspread, который, похоже, вы уже используете, имеет rowcol_to_a1.

person tessafyi    schedule 08.12.2019