我想遍历表中的所有行,但似乎只是使用.rows限于返回100个项目。迭代遍历所有行Smartsheet API Python
for temp_row in inventory.rows:
x += 1
print x #X will always return <= 100
无论我在那里有多少物品。
我在做什么错?
编辑:只是为了澄清,我试图对每一行做些什么,不算数,这只是我注意到它只抓取100行的一个例子。
我想遍历表中的所有行,但似乎只是使用.rows限于返回100个项目。迭代遍历所有行Smartsheet API Python
for temp_row in inventory.rows:
x += 1
print x #X will always return <= 100
无论我在那里有多少物品。
我在做什么错?
编辑:只是为了澄清,我试图对每一行做些什么,不算数,这只是我注意到它只抓取100行的一个例子。
默认情况下,get_sheet将返回一个包含100行的页面。包括标志:includeAll=true
以返回所有行。
查看documentation on paging了解更多信息。
听起来或许执行获取表操作时,SDK是利用寻呼 - 即,它仅在响应结果的第一页,缺省返回到100行。如API docs中所述,除非请求另有指定,否则页面大小在响应中默认为100行。 (在文档,请参阅的pageSize和页面参数的说明。)
我建议您查看SDK用于指定的pageSize和/或调用时页面的能力获取工作表的操作。
重要的是要注意,发出请求给Smartsheet API直接而不是通过Python的SDK默认响应时将包括片材的所有行,而无需包括page
或pageSize
参数是重要的。
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
的数量。
你试过'len(inventory.rows)'? –