使用 Worksheet.update 方法时“.append”和预定义列表之间的区别
Difference between ".append" and predefined lists when using the Worksheet.update method
我正在尝试使用 Worksheet.update 方法更新 sheet 的单元格 A2、A3、A4 中的值,代码如下:
sheet = USER_SPREADSHEET.worksheet('sheet_name')
values = []
for i in range(1,4):
values.append([str(i)])
sheet.update('A2:A4', [values])
我收到以下错误:
APIError: {'code': 400, 'message': 'Invalid values[1][0]: list_value {\n values {\n string_value: "1"\n }\n}\n', 'status': 'INVALID_ARGUMENT'}
我可以使用以下替代方法修复它,但我不知道是什么导致了差异:
sheet = USER_SPREADSHEET.worksheet('sheet_name')
value1 = '1'
value2 = '2'
value3 = '3'
sheet.update('A2:A4', [[value1],[value2],[value3]])
上面的方法有效,我不会得到错误,但它对我需要的东西没有用。
有什么想法吗?
这个答案怎么样?
修改点:
在您的以下脚本中,values
是 [['1'], ['2'], ['3']]
。
values = []
for i in range(1,4):
values.append([str(i)])
但是,当 sheet.update('A2:A4', [values])
为 运行 时,[values]
为 [[['1'], ['2'], ['3']]]
。我认为这就是你的问题的原因。所以如果要使用上层脚本,请修改如下。
修改后的脚本:
sheet = USER_SPREADSHEET.worksheet('sheet_name')
values = []
for i in range(1,4):
values.append([str(i)])
sheet.update('A2:A4', values) # Modified
参考:
我正在尝试使用 Worksheet.update 方法更新 sheet 的单元格 A2、A3、A4 中的值,代码如下:
sheet = USER_SPREADSHEET.worksheet('sheet_name')
values = []
for i in range(1,4):
values.append([str(i)])
sheet.update('A2:A4', [values])
我收到以下错误:
APIError: {'code': 400, 'message': 'Invalid values[1][0]: list_value {\n values {\n string_value: "1"\n }\n}\n', 'status': 'INVALID_ARGUMENT'}
我可以使用以下替代方法修复它,但我不知道是什么导致了差异:
sheet = USER_SPREADSHEET.worksheet('sheet_name')
value1 = '1'
value2 = '2'
value3 = '3'
sheet.update('A2:A4', [[value1],[value2],[value3]])
上面的方法有效,我不会得到错误,但它对我需要的东西没有用。
有什么想法吗?
这个答案怎么样?
修改点:
在您的以下脚本中,values
是 [['1'], ['2'], ['3']]
。
values = []
for i in range(1,4):
values.append([str(i)])
但是,当 sheet.update('A2:A4', [values])
为 运行 时,[values]
为 [[['1'], ['2'], ['3']]]
。我认为这就是你的问题的原因。所以如果要使用上层脚本,请修改如下。
修改后的脚本:
sheet = USER_SPREADSHEET.worksheet('sheet_name')
values = []
for i in range(1,4):
values.append([str(i)])
sheet.update('A2:A4', values) # Modified