如何使用api获取Google电子表格中的行数?

时间:2013-05-10 08:37:23

标签: google-docs-api google-spreadsheet-api

是否可以在不提取整个电子表格的情况下获取已填充的数量,或者找到第一个空行号?

如果重要的话,我正在使用python api包装器。

4 个答案:

答案 0 :(得分:2)

主要的谷歌API文档说你可以使用WorksheetFeed来做到这一点。所以必须可以从python。 https://developers.google.com/google-apps/spreadsheets/#retrieving_information_about_worksheets

答案 1 :(得分:1)

我认为这会奏效。您需要使用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);

我假设行之间没有空行。空白单元格没有问题,我的意思是一行必须至少填充一个单元格。

答案 2 :(得分:1)

使用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)

答案 3 :(得分:0)

您可以使用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对象包含许多方法。查看文档here