如何遍历 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 以完全匹配。
我目前正在尝试将 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 以完全匹配。