我正在尝试写入智能表中位于多选项列表列中的单元格。我正在更新该值,但错误消息告诉我它缺少属性 cell.value
{“response”:{“statusCode”:400,“reason”:“错误请求”,“content”:{“detail”:{“index”:0,“rowId”:3036099537571716},“errorCode”:1012 , "message": "您的请求中缺少必需的对象属性:cell.value。", "refId": "qo1kjj"}}}
通过一些打印语句我知道变量正在更新,并且此代码适用于普通列。
workspace_name = 'API TEST'
sheet_name = 'test sheet'
lookup_value = 'b'
write_value = 'A'
write_column = 'first column'
lookup_column = 'multi picklist'
smart = init_smartsheet()
sheet_data, sheet_id = init_sheet(workspace_name, sheet_name, client)
write_column_id = sheet_data.get_column_by_title(write_column).id_
lookup_column_id = sheet_data.get_column_by_title(lookup_column).id_
updated_row = None
for row in sheet_data.rows:
for cell in row.cells:
if cell.column_id == lookup_column_id and cell.value == lookup_value:
updated_row = row
break
if updated_row:
break
for cell in updated_row.cells:
if cell.column_id == write_column_id:
cell.value = write_value
break
updated_row.created_at = None
updated_row.modified_at = None
updated_row.row_number = None
updated_row.below = True
smart.Sheets.update_rows(sheet_id, [updated_row])```
尝试这种格式
import smartsheet
smartsheetClient = smartsheet.Smartsheet('smartsheet token')
sheetid = 'sheet id'
sheet = smartsheetClient.Sheets.get_sheet(sheetid)
listOptions = ["bob","joe","sally", "matilda"]
column_name = "MultiColumnName"
columnid = None
for column in sheet.columns:
if column.title == column_name:
columnid = column.id
break
#Column_Spec
cs=smartsheet.models.Column({
'title':"columnTitle",
'type':'PICKLIST',
'options': listOptions,
'index':2,
'validation': True
})
r=smartsheetClient.Sheets.update_column(sheetid,columnid,cs)