Есть ли способ в Python для подсчета диапазона строк (от первой строки с данными до последней строки с данными) из листа Google? - PullRequest
1 голос
/ 23 июня 2019

В настоящее время я стажер, работающий над кодом для извлечения данных из электронной таблицы Google и создания файла DITA из этих данных.Одна проблема, которую я обнаружил, заключается в том, что метод .row_count считает ВСЕ строки в электронной таблице;Мне нужно только посчитать диапазон строк до (и включая) последнюю заполненную строку в электронной таблице.

Я попытался удалить дополнительные строки в электронной таблице, но это нереально для подсчета количества строк.

rowCount = sheet.row_count

paragraph = ET.SubElement(conbody, "p")
table = ET.SubElement(conbody, "table")
tgroup = ET.SubElement(table, "tgroup", attrib={"cols": 
str(rowCount)})
tbody = ET.SubElement(tgroup, "tbody")

i = 0 
while i < rowCount:
    row = ET.SubElement(tbody,"row")
    i += 1

Когда я запускаю цикл while, я получаю 1001строк, когда мне действительно нужен диапазон строк, которые не содержат все пустые строки после последней заполненной строки.Например, у меня есть листы Google с данными, заполненными в 1-й, 2-й и 4-й строках, 3-я строка пуста.Однако мне нужно посчитать количество строк от первой заполненной строки с данными до последней строки, заполненной данными, даже если промежуточные строки пусты.

Возможно, мне придется создать функцию с утверждениями if, но я понятия не имею, с чего начать с API листов Google.

1 Ответ

0 голосов
/ 23 июня 2019

Я нашел решение моей проблемы из поста @ rdt0086. Решение моей проблемы - собрать все данные и посчитать их:

rowCount = len(sheet.get_all_values()) # this is a list of list of all data and the length is equal to the number of rows including header row if it exists in data set 

То, что это, похоже, делает, это именно то, что я искал: он считает диапазон строк от первой строки с заполненными данными (строка заголовка) до последней строки с заполненными данными.

...