添加一行 Google Sheet Python

问题描述 投票:0回答:3

我想用 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复制了它,来做一些测试。但就我而言,它不起作用,我不知道为什么。

python google-sheets google-api gspread
3个回答
1
投票

如果您查看文档(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")

1
投票

尝试添加此内容。

sheet.append_row(insertRow)


0
投票

您需要使用 insertRow 作为函数 add_rows 的参数。您使用 row 作为参数。尝试改变这一点。

© www.soinside.com 2019 - 2024. All rights reserved.