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

时间:2015-11-06 15:59:00

标签: python worksheet gspread

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

的工作表

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

这有效,

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

但这失败了,

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

发出此错误,

属性错误:'电子表格'对象没有属性' sheet2'

我也注意到这失败了,

wks = gc.open(" doc_name")。 S heet1

...我在哪里使用大写' ...只有在我指定小写的情况下才会写。 s heet1

如何在不必编码的情况下写入工作表... wks = gc.open(" doc_name")。sheet1?

2 个答案:

答案 0 :(得分:8)

这是因为gspread仅实施了sheet1,您可以将电子表格中的第一个工作表作为快捷方式进行检索。

here您可以看到sheet1的实施正在使用get_worksheet(0)

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

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

1.指定 index 作为一个整数,表示从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)

答案 1 :(得分:0)

client = gspread.authorize(creds)

sheet = client.open('name').worksheet('name/title')