python gspread库只写入标有'sheet1'的工作表

问题描述 投票:1回答:2

我的工作表名为'doc_name',它有两个工作表,'sheet1'和'sheet2'。但是,我只能将数据写入标有'sheet1'的工作表?

这是一个限制还是我做错了什么?

这工作,

wks = gc.open("doc_name").sheet1

但这失败了,

wks = gc.open("doc_name").sheet2

给出这个错误,

AttributeError:'Spreadsheet'对象没有属性'sheet2'

我也注意到这个失败了,

wks = gc.open(“doc_name”)。Sheet1

...我在哪里使用大写'S'..如果我指定小写.sheet1,它只会写

如何写入工作表而不必编写代码... wks = gc.open(“doc_name”)。sheet1?

python worksheet gspread
2个回答
8
投票

这是因为gspread只实现了sheet1,让您检索电子表格中的第一张表格作为快捷方式。

source code你可以看到sheet1的实现正在使用get_worksheet(0)

@property
def sheet1(self):
    """Shortcut property for getting the first worksheet."""
    return self.get_worksheet(0)

因此,如果要检索其他工作表,则需要使用其他方法,例如:

1.将索引指定为一个整数,指示从0开始打开的工作表的位置:

wks = gc.open("doc_name").get_worksheet(index)

要么

2.指定要作为字符串打开的工作表标题:

wks = gc.open("doc_name").worksheet(title)

也就是说,在你的情况下,你可以使用sheet2

wks = gc.open("doc_name").get_worksheet(1)


0
投票
client = gspread.authorize(creds)

sheet = client.open('name').worksheet('name/title')
© www.soinside.com 2019 - 2024. All rights reserved.