使用 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 的关系。
如何获取值列表,遍历它以创建所需的对象,然后将 "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 的关系。