如何遍历 sheet 对象的行 属性 并创建以逗号分隔的行 ID 列表?

How to iterate through the row property of the sheet object and create a comma delimited list of row id's?

我目前正在尝试将 excel sheet 导入 Smartsheet,然后取出导入的 sheet 的行,并将它们移动到底部现有 sheet。为此,我使用了 Sheets.move_row 函数。下面是该代码的一个片段。

response = smart.Sheets.move_rows(
result.data.id,smart.models.CopyOrMoveRowDirective({
    'row_ids': [**Help**],
    'to': smart.models.CopyOrMoveRowDestination({'sheet_id': 1174866712913796})}))

要获取有关导入的 sheet 的信息,我使用 get_sheet 命令。我的计划是然后遍历 sheet.row 属性 并找到列出“id”的位置,然后将 id 旁边的数字拉入逗号分隔列表。

下面是我尝试遍历行 属性 的片段,但我不确定如何提取行 ID,然后将它们放入逗号分隔列表中。

 sheet_info = smart.Sheets.get_sheet(result.data.id,_dir)
print(sheet_info)

for id in sheet_info.rows:
    x = id
print (x)  #this just prints the cells category

任何帮助将不胜感激,谢谢。如需进一步说明我正在尝试做什么,请参考我之前发布的问题。

以下代码片段可执行您所描述的操作。

sheetId = 3932034054809476

# get the sheet
sheet = smart.Sheets.get_sheet(sheetId) 

# iterate through the rows array and build comma-delimited list of row ids
row_ids = ''
for row in sheet.rows:
    row_ids += str(row.id) + ', '

# remove the final (excess) comma and space from the end of the row_ids string
row_ids = row_ids[:len(row_ids)-2]

print(row_ids)

更新:

正如@Isaaclele 在下面的评论中提到的,复制或移动行 操作要求将rowIds 参数指定为number[].上面代码片段中 row_ids 属性 的字符串值可以转换为这种格式,如下所示:

row_ids = list(map(int, row_ids.split(',')))

另请注意(如以下评论中所述)复制或移动行 操作需要源 sheet 和目标中的列名称sheet 以完全匹配。