我目前是一名实习生,负责编写代码以从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开始的地方。
答案 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
这似乎正是我想要的:它计算从填充数据的第一行(标头行)到填充数据的最后一行的行范围。