Smartsheet API get_sheet(Python)过滤器无法正常工作

时间:2017-04-16 17:48:07

标签: smartsheet-api

我正在使用Python 3.52,Smartsheet API SDK 2.0.10。

get_sheet(在sheets.py中)有三个“过滤器”,它们是

的整数列表
  1. row_numbers,
  2. column_ids和
  3. row_ids。
  4. 我不能让他们一起或分开工作。 例如,

    row_numbers = [2, 13]
    sheet = smartsheet.Sheets.get_sheet(sheet_id, row_numbers)
    for row in sheet.rows:
        print(row.row_number)
    

    返回所有行,而不仅仅是2和13。 我做错了还是这个错误?

    克雷格

2 个答案:

答案 0 :(得分:1)

完整方法签名为get_sheet(sheet_id, include=None, exclude=None, row_ids=None, row_numbers=None, column_ids=None, page_size=100, page=1)

请参阅docs

因此,在您的情况下,您需要smartsheet.Sheets.get_sheet(sheet_id, None, None, None, row_numbers )

之类的内容

答案 1 :(得分:0)

声望不会让我评论,但史蒂夫W走在正确的轨道上。

有关Python如何为参数列表分配参数的说明,请参阅https://docs.python.org/3/reference/expressions.html#calls。在您的示例中,row_numbers被分配给include参数。要做你想做的事,你必须使用位置(sheet_id)和关键字(row_numbers)参数的组合。所有其他参数将使用函数定义指定的默认值。

此代码按预期工作,返回工作表中的第2行和第13行:

row_numbers=[2,13]
sheet = smartsheet.Sheets.get_sheet(sheet_id, row_numbers=row_numbers)