【问题标题】:Gspread Exception API Error Code 400 - Invalid ArgumentGspread 异常 API 错误代码 400 - 无效参数
【发布时间】:2022-12-12 07:10:41
【问题描述】:

我创建了两个不同的变量,其中包含用户输入结果列表。我已将这两个变量放入另一个变量中,这样我就可以用这些数据更新电子表格中的一行。

但是,由于此错误,我无法执行此操作:

  File "/workspace/.pip-modules/lib/python3.8/site-packages/gspread/worksheet.py", line 1577, in append_row
    return self.append_rows(
  File "/workspace/.pip-modules/lib/python3.8/site-packages/gspread/worksheet.py", line 1627, in append_rows
    return self.spreadsheet.values_append(range_label, params, body)
  File "/workspace/.pip-modules/lib/python3.8/site-packages/gspread/spreadsheet.py", line 150, in values_append
    r = self.client.request("post", url, params=params, json=body)
  File "/workspace/.pip-modules/lib/python3.8/site-packages/gspread/client.py", line 92, in request
    raise APIError(response)
gspread.exceptions.APIError: {'code': 400, 'message': 'Invalid values[3][0]: list_value {\n  values {\n    string_value: "john smith"\n  }\n  values {\n    string_value: "38"\n  }\n  values {\n    string_value: "mini"\n  }\n  values {\n    string_value: "cooper"\n  }\n  values {\n    string_value: "2003"\n  }\n}\n', 'status': 'INVALID_ARGUMENT'}

我可以使用上面提到的 on 或其他变量,但不能同时使用这两个变量。有没有另一种方法可以将所有这些数据上传到一行中,但有两个或三个甚至四个单独的上传?将不胜感激任何建议或想法。

【问题讨论】:

    标签: python exception gspread


    【解决方案1】:

    完全忘记了我可以拆分列表的行:

    user_inputs = [
            username, user_age, 
            car_make, car_model, 
            car_year, one_input, 
            two_input, three_input]
    

    这将允许我将尽可能多的不同变量输入到这个列表中,以便在一个可用于更新电子表格的大变量下。

    我认为这只是最简单的解决方案,目前不确定是否有其他解决方案。

    【讨论】: