使用 python 在智能表中添加行

Add rows in smartsheets using python

如何获取值列表,遍历它以创建所需的对象,然后将 "list" 个对象传递给 API 以创建多行?

我已经使用 API 示例成功地添加了一个带有值的新行。在该示例中,创建了两个对象。

row_a = ss_client.models.Row()
row_b = ss_client.models.Row()

这两个对象是在添加行函数中传递的。 (如果我用错了术语,请原谅我。还是新手)

response = ss_client.Sheets.add_rows(
2331373580117892,       # sheet_id
[row_a, row_b])

我没有成功地通过类似这样的东西传递未知数量的对象。

 newRowsToCreate = []
 for row in new_rows:
     rowObject = ss.models.Row()
     rowObject.cells.append({
       'column_id': PM_columns['Row ID Master'],
       'value': row
     })
     newRowsToCreate.append(rowObject)

 # Add rows to sheet
 response = ss.Sheets.add_rows(
   OH_MkrSheetId,       # sheet_id
   newRowsToCreate)

这个returns这个错误:

{"code": 1062, "errorCode": 1062, "message": "Invalid row location: You must 
use at least 1 location specifier.",

感谢您的帮助。

从错误消息来看,您似乎缺少新行的 location specification

您创建的每个行对象都需要设置一个位置值。例如,如果您希望将新行添加到 sheet 的底部,则可以将此属性添加到 rowObject

rowObject.toBottom=True

您可以阅读此位置特定属性及其与 Python SDK here 的关系。