Как я могу получить количество строк в таблице Google с помощью API?

Можно ли получить количество заполненных строк без выборки всей электронной таблицы или найти номер первой пустой строки?

Я использую оболочку Python API, если это имеет значение.

2 ответа

Решение

В основных документах Google API говорится, что вы можете сделать это с помощью WorksheetFeed. Так должно быть возможно из питона. https://developers.google.com/google-apps/spreadsheets/

Используя pygsheets, это вернет количество заполненных строк в электронной таблице

import pygsheets

gc = pygsheets.authorize(service_file='client_secret.json'). #authorization
worksheet = gc.open('Sign Up').sheet1. #opens the first sheet in "Sign Up"
cells = worksheet.get_all_values(include_tailing_empty_rows=False, include_tailing_empty=False, returnas='matrix')
end_row = len(cells)
print(end_row)

Я думаю, что это будет работать. Вам нужно использовать ListFeed getEntries(), чтобы найти строки, имеющие запись.

URL listFeedUrl = worksheets.get(x).getListFeedUrl();
ListFeed feed = googleservice.getFeed(listFeedUrl, ListFeed.class);
System.out.println("Number of filled rows"+feed_L.getEntries().size()+1);
System.out.println("First Empty row"+feed_L.getEntries().size()+2);

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

Вы можете использовать библиотеку Sheetfu и ее метод get_data_range. Он в основном возвращает диапазон, содержащий только данные.

from sheetfu import SpreadsheetApp

sa = SpreadsheetApp('path/to/secret.json')
spreadsheet = sa.open_by_id(spreadsheet_id='<spreadsheet id>')
sheet = spreadsheet.get_sheet_by_name('Sheet1')
data_range = sheet.get_data_range()

Это вычислит координаты диапазона, который содержит данные. Затем вы можете установить значения, заметки, фон и т. Д., Используя следующее:

values = data_range.get_values()
notes = data_range.get_notes()
backgrounds = data_range.get_backgrounds()

Объект Range содержит множество методов. Ознакомьтесь с документацией здесь.

Другие вопросы по тегам