我想用 python 在 google 工作表文档中添加一行。但它不起作用,我总是发现这个错误:
Traceback (most recent call last):
File "D:\...\...\...\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 spreadsheet
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
这段代码实际上不是我的,我从这个link复制了它,来做一些测试。但就我而言,它不起作用,我不知道为什么。
如果您查看文档(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")
尝试添加此内容。
sheet.append_row(insertRow)
您需要使用 insertRow 作为函数 add_rows 的参数。您使用 row 作为参数。尝试改变这一点。