質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

2145閲覧

スプレッドシートをpythonで操作したい

webaaaaaa

総合スコア0

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/01/18 05:11

pythonでスプレッドシートの内容を取得したいです。
スプレッドシートには「発注管理表」というシートが確かにあるのですが、「発注管理表」というシートがないというエラーが出てしまいます。何が問題か分かる方、ご助力いただければ幸いです。

コードはjupyterlabで書いております。

import gspread from oauth2client.service_account import ServiceAccountCredentials #APIの情報を変数に代入 SCOPES = ['https://spreadsheets.google.com/feeds','https://www.googleapis.com/auth/drive'] #キーのファイルを変数に入れています SURVICE_ACCOUNT_FILE = 'spreadsheet-sample.json' credentials = ServiceAccountCredentials.from_json_keyfile_name(SURVICE_ACCOUNT_FILE, SCOPES) #スプレッドシートの操作権を取得 gs = gspread.authorize(credentials ) SPREADSHEET_KEY = '1gHd3hrud4XujJlnKwG3RZSvFIixbV8NoX_hmAu0pffw' worksheet = gs.open_by_key(SPREADSHEET_KEY).worksheet("発注管理表")

エラーコード

--------------------------------------------------------------------------- StopIteration Traceback (most recent call last) ~/anaconda3/lib/python3.7/site-packages/gspread/models.py in worksheet(self, title) 316 lambda x: x['properties']['title'] == title, --> 317 sheet_data['sheets'], 318 ) ~/anaconda3/lib/python3.7/site-packages/gspread/utils.py in finditem(func, seq) 96 """ ---> 97 return next((item for item in seq if func(item))) 98 StopIteration: During handling of the above exception, another exception occurred: WorksheetNotFound Traceback (most recent call last) <ipython-input-60-22d40aa46b24> in <module> 2 3 SPREADSHEET_KEY = '1gHd3hrud4XujJlnKwG3RZSvFIixbV8NoX_hmAu0pffw' ----> 4 worksheet = gs.open_by_key(SPREADSHEET_KEY).worksheet("発注管理表") ~/anaconda3/lib/python3.7/site-packages/gspread/models.py in worksheet(self, title) 319 return Worksheet(self, item['properties']) 320 except (StopIteration, KeyError): --> 321 raise WorksheetNotFound(title) 322 323 def add_worksheet(self, title, rows, cols, index=None): WorksheetNotFound: 発注管理表

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

https://teratail.com/questions/316454 をご参照ください。まったく同じ質問です。

===

もし考えられるとすれば、①SpreadSheet_Keyが異なる、②秘密鍵が異なる、③ファイルの共有設定をしていない...くらいでしょうか。

なお、以下は私が組んだプログラムで使ったライブラリや設定部分の抜粋です。
ご参考になれば。

Python

1# グーグルスプレッドシートを操作する為にimport 2import gspread 3 4# グーグルスプレッドシートの認証情報設定の為にimport 5from oauth2client.service_account import ServiceAccountCredentials 6 7# 2つのAPIを記述しないとリフレッシュトークンを3600秒毎に発行し続けなければならない 8scope = ['https://spreadsheets.google.com/feeds&#039;,&#039;https://googleapis.com/auth/drive&#039;] 9 10# 認証情報設定 11# ダウンロードしたjsonファイル名をクレデンシャル変数に設定(秘密鍵、Pythonファイルから読み込みしやすい位置に置く) 12credentials = ServiceAccountCredentials.from_json_keyfile_name("**************************************.json", scope) 13 14# 共有設定したスプレッドシートキーを格納 15SPREADSHEET_KEY = '********************************' 16 17# 制限 18# (1) ユーザーごとに100秒あたり100件のリクエスト 19# (2) 1秒あたり10件まで 20 21# OAuth2の資格情報を使用してGoogleAPIにログイン 22gc = gspread.authorize(credentials) 23 24# 共有設定したスプレッドシートのシート1を開く 25workbook = gc.open_by_key(SPREADSHEET_KEY)

投稿2021/01/18 05:13

編集2021/01/18 05:14
_whitecat_22

総合スコア1305

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問