5

私のシートは「doc_name」という名前で、「sheet1」と「sheet2」という 2 つのワークシートがあります。しかし、「sheet1」というラベルの付いたワークシートにのみデータを書き込むことができますか?

これは制限ですか、それとも何か間違っていますか?

これは機能し、

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

しかし、これは失敗し、

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

このエラーを与えると、

AttributeError: 'Spreadsheet' オブジェクトに属性 'sheet2' がありません

私はまた、これが失敗することに気づきました、

wks = gc.open("doc_name")。シート1

...ここで大文字の「S」を使用します..小文字を指定した場合にのみ書き込みます。シート1

コーディングせずにワークシートに書き込むにはどうすればよいですか... wks = gc.open("doc_name").sheet1?

4

2 に答える 2

26

これは、スプレッドシートの最初のシートをショートカットとして取得できるようにするためにgspreadのみ実装されているためです。sheet1

ソースコードから、の実装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)

つまり、あなたの場合、シート2を取得するには、おそらく使用できます

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

于 2015-11-09T07:19:36.620 に答える