2015-11-06 107 views
1

我的工作表被命名爲'doc_name',它有兩個工作表'sheet1'和'sheet2'。但是,我只能將數據寫入標有'sheet1'的工作表中?python gspread庫只寫入標籤爲'sheet1'的工作表

這是一個限制還是我做錯了什麼?

這個作品,

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

,但失敗了,

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

給這個錯誤,

AttributeError的: '電子表格' 對象有沒有屬性 'Sheet2的'

我也注意到,這失敗了,

wks = gc.open(「doc_name」)。 S heet1

...在這裏我使用大寫'S'..它只會寫,如果我指定小寫。 s heet1

我該如何寫入工作表而不必編碼... wks = gc.open(「doc_name」)。sheet1?

回答

3

這是因爲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.specify 指數作爲整數,指示片材的位置以打開從0開始:

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

紙張的

2.specify 標題打開作爲一個字符串:

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

這就是說,在你的情況下,獲得Sheet2中,你可以可能使用

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

+0

感謝您回覆我,最近我在gsheets上遇到了一些麻煩。我最大的問題是在這篇文章中,我有連接超時問題,你會知道這個答案嗎? http://stackoverflow.com/questions/33596661/python-gspread-connection-time-out-when-writing-to-google-sheets – user3768071

+0

@ user3768071sorry我對這個問題沒有很好的建議。那時我會找到你的 –

相關問題