python中是否有一种方法可以计算来自Google工作表的行范围(从包含数据的第一行到包含数据的最后一行)?

时间:2019-06-22 21:55:22

标签: python python-3.x gspread

我目前是一名实习生,负责编写代码以从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表格,其中数据填充在第一,第二和第四行中,第三行为空。但是,我需要计算从第一行填充数据到最后一行填充数据的行数,即使中间的行为空。

我可能必须使用if语句来创建函数,但是我不知道从Google Sheets api开始的地方。

1 个答案:

答案 0 :(得分:0)

我从@ 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 

这似乎正是我想要的:它计算从填充数据的第一行(标头行)到填充数据的最后一行的行范围。