如何访问 Smartsheet Cell 对象的属性?

How to access attributes of a Smartsheet Cell object?

我正在尝试使用 Smartsheet Python SDK 查找与特定 displayValue 匹配的单元格。我的细胞看起来像这样:

{"columnId": 6xxxx6xxxx4xxxx8, "displayValue": "John Jacob", "value": "John Jacob"}

我想打印 columnId == participantColumnID AND displayValue == participantNumber 的所有单元格。不幸的是,我不知道如何访问 Cell 属性,API docs 也没有描述如何访问它们。非常感谢任何帮助。

smartsheet_client = smartsheet.Smartsheet(access_token)
sheet = smartsheet_client.Sheets.get_sheet(sheet_id)

participantColumnID = "30xxxxxxxxxx2452"
participantNumber = "12345"

for row in sheet.rows:
    for cell in row.cells:
        if cell.columnId == participantColumnID:
            if cell.displayValue == participantNumber:
                print(cell)

请注意,我也尝试通过下标 cell[0]cell[columnId] 进行访问,但这也不起作用。 不可订阅。

TypeError: 'Cell' object is not subscriptable

我对 Python 或 Smartsheet Python SDK 不是很熟悉 -- 但您的问题可能是由于您使用的无效 Cell 属性 代码中的名称?

似乎 the integration tests (for rows) within the SDK repo in GitHub 展示了在使用 Python SDK 时如何引用 Cell 属性。例如,我在那里看到这段代码(第 105-108 行)

for row in sheetb.rows:
    ids.append(row.id)
    for cell in row.cells:
        column_ids.append(cell.column_id)

将该代码与您在上述问题中发布的代码进行比较,我突然想到的一件事是您使用的是 cell.columnId,而集成测试使用的是 cell.column_id。同样,我怀疑您使用 cell.displayValue 的地方应该是 cell.display_value。 (有关 Cell 对象中所有 属性 名称的完整列表,请参阅 definition for the Cell object in the SDK。)