Существует ли ограничение на количество столбцов, которые можно добавлять с помощью API Google Sheets? - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь добавить данные в лист Google из моего скрипта Python.Каждая строка имеет 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 ]

1 голос
/ 28 марта 2019
Матрица

data_to_upload имеет только 40 not 49 элементов в каждой строке, как упомянуто @glhr.

Вы не превышаете пределы листа Google, которые видитездесь: https://gsuitetips.com/tips/sheets/google-spreadsheet-limitations/

1 голос
/ 28 марта 2019

Ваш код делает именно то, что должен.Проверьте размер массива data_to_upload:

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

Возвращает:

Rows: 4
Columns: 40

Демо

Обратите внимание, что tableRange': "'Left Hand Tray'!A1:AW4121", означает точночто ... диапазон всей таблицы (4121 строк, 49 столбцов).

'updatedRange': "'Left Hand Tray'!A4122:AN4125" указывает диапазон таблицы, которая была обновлена ​​(4 строки, 40 столбцов), которая соответствует размеру вашей таблицы.входные данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...