добавление строки google scheet python - PullRequest
1 голос
/ 26 мая 2020

Я хочу добавить строку в документ таблицы Google с помощью python. Но по какой-то причине это не работает Я всегда нахожу эту ошибку:


Traceback (most recent call last):
  File "D:\Utente\Desktop\BLS-Bonus-Nov-2019-v2\spreadsheet.py", line 27, in <module>
    sheet.add_rows(row,1)
TypeError: add_rows() takes 2 positional arguments but 3 were given

Я использую этот код:

import gspread
from oauth2client.service_account import ServiceAccountCredentials
from pprint import pprint

scope = ["https://spreadsheets.google.com/feeds",'https://www.googleapis.com/auth/spreadsheets',"https://www.googleapis.com/auth/drive.file","https://www.googleapis.com/auth/drive"]


creds = ServiceAccountCredentials.from_json_keyfile_name("GymBot_database.json", scope)

client = gspread.authorize(creds)

sheet = client.open("GymBot_sheet").sheet1  # Open the spreadhseet

row = sheet.row_values(2)  # Get a specific row
insertRow = ["hello", 5, "red", "blue"]

sheet.add_rows(row,1)# Insert the list as a row at index 1

этот код на самом деле не мой Я скопировал его из этого ссылка , чтобы сделать несколько тестов. Но в моем случае это не работает, и я не знаю почему.

Ответы [ 2 ]

1 голос
/ 26 мая 2020

Если вы посмотрите документацию (https://gspread.readthedocs.io/en/latest/api.html#gspread .models.Worksheet.add_rows )

add_rows(rows)

Добавляет строки на рабочий лист. Параметры: rows (int) - Количество новых строк для добавления.

add_rows(rows) добавляет указанное количество пустых строк в нижнюю часть листа. Я думаю, что вместо этого вы хотите вставить значения в лист. Вы можете использовать append_row (https://gspread.readthedocs.io/en/latest/api.html#gspread .models.Worksheet.append_row ).

например,

sheet.append_row(insertRow, table_range="A1")
0 голосов
/ 26 мая 2020

Вам необходимо использовать insertRow в качестве параметра для функции add_rows. Вы использовали строку в качестве параметра. Попробуйте это изменить.

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