使用Worksheet.update方法时,“。append”和预定义列表之间的差异

问题描述 投票:0回答:1

我正在尝试使用Worksheet.update方法通过以下代码更新工作表的单元格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','状态':'INVALID_ARGUMENT'}

我可以使用以下替代方法来修复它,但是我不知道是什么引起了差异:

sheet = USER_SPREADSHEET.worksheet('sheet_name')
value1 = '1'
value2 = '2'
value3 = '3'

sheet.update('A2:A4', [[value1],[value2],[value3]])

上面的方法可以正常工作,但不会出现错误,但是对于我所需要的没有用。

有什么想法吗?

python google-sheets google-sheets-api gspread
1个回答
0
投票

这个答案怎么样?

修改点:

在下面的脚本中,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

参考:

© www.soinside.com 2019 - 2024. All rights reserved.