使用Google Sheets API可以添加多少列是否有限制?

时间:2019-03-28 14:00:55

标签: python google-sheets-api

我正在尝试通过python脚本将数据附加到Google工作表中。每行有49个值(每行需要更新49列)。但是,当我运行代码时,它仅更新每行40列,并丢弃最后9个值。

我已经在Google上进行搜索以找到与此相关的任何内容,但是我却找不到任何内容。

这是我的代码:

RANGE_NAME = 'Left Hand Tray' # the name of the sheet.
data_to_upload = [['FAN_ASSEMBLY', 'Right Nest', '2019-03-27 19:24:35', '142.968002', '1', '1', '1', '1', '1', '1', '0', '0', '0', '1', '1', '1', '1', '1', '1', '1', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1'], ['FAN_ASSEMBLY', 'Left Nest', '2019-03-27 19:26:18', '94.480003', '0', '0', '0', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1'], ['FAN_ASSEMBLY', 'Right Nest', '2019-03-27 19:28:41', '143.207993', '1', '1', '1', '0', '0', '0', '1', '1', '1', '1', '1', '1', '1', '1', '1', '0', '0', '0', '1', '1', '1', '0', '0', '0', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1'], ['FAN_ASSEMBLY', 'Left Nest', '2019-03-27 19:31:55', '193.112000', '0', '0', '0', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1']]
body = {
    'majorDimensions': 'ROWS',
    'values': data_to_upload
}

request = sheet.values().append(spreadsheetId=SPREADSHEET_ID, range=RANGE_NAME, body=body, valueInputOption='USER_ENTERED')
response = request.execute()

每个数据行的最后一个值未上载。这是我得到的答复:

{'spreadsheetId': <the_spreadsheet_id>, 'tableRange': "'Left Hand Tray'!A1:AW4121", 'updates': {'spreadsheetId': <the_spreadsheet_id>, 'updatedRange': "'Left Hand Tray'!A4122:AN4125", 'updatedRows': 4, 'updatedColumns': 40, 'updatedCells': 160}}

您可以在响应中看到,它说工作表中的列直到AW为止,但在更新部分中,您只能看到它直到AN列为止。

2 个答案:

答案 0 :(得分:1)

您的代码完全按照预期的方式运行。检查data_to_upload数组的大小:

print("Rows:",len(data_to_upload))
print("Columns:",len(data_to_upload[0]))

返回:

Rows: 4
Columns: 40

Demo

请注意,tableRange': "'Left Hand Tray'!A1:AW4121",的意思就是……整个表的范围(4121行,49列)。

'updatedRange': "'Left Hand Tray'!A4122:AN4125"表示已更新的表的范围(4行40列),与输入数据的大小相匹配。

答案 1 :(得分:1)

data_to_upload矩阵每行仅包含 40 个元素,而没有 49 个元素,如@glhr所述。

您没有通过Google工作表限制,您可以在此处查看:https://gsuitetips.com/tips/sheets/google-spreadsheet-limitations/