2016-10-04 119 views
2

我想遍历表中的所有行,但似乎只是使用.rows限于返回100个项目。迭代遍历所有行Smartsheet API Python

for temp_row in inventory.rows: 
    x += 1 
print x #X will always return <= 100 

无论我在那里有多少物品。

我在做什么错?

编辑:只是为了澄清,我试图对每一行做些什么,不算数,这只是我注意到它只抓取100行的一个例子。

+0

你试过'len(inventory.rows)'? –

回答

0

默认情况下,get_sheet将返回一个包含100行的页面。包括标志:includeAll=true以返回所有行。

查看documentation on paging了解更多信息。

0

听起来或许执行获取表操作时,SDK是利用寻呼 - 即,它仅在响应结果的第一页,缺省返回到100行。如API docs中所述,除非请求另有指定,否则页面大小在响应中默认为100行。 (在文档,请参阅的pageSize页面参数的说明。)

我建议您查看SDK用于指定的pageSize和/或调用时页面的能力获取工作表的操作。

0

重要的是要注意,发出请求给Smartsheet API直接而不是通过Python的SDK默认响应时将包括片材的所有行,而无需包括pagepageSize参数是重要的。

0

include_all参数不是get_sheet()的一部分。

Python的SDK 2.0的参数是page_size

,缺省值为100

my_sheet = smartsheet.Sheets.get_sheet(sheet_id, page_size=5000) 

其中sheet_id是您工作表的ID。

如果你已经拥有了表对象,你可以使用

my_sheet.total_row_count 

让行和使用而不是5000的数量。