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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

2235閲覧

PythonでJsonファイルが見つからないエラーを解消したい

poohpooh

総合スコア1

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2022/07/07 23:57

はじめまして。python初学者です。
PythonでGoogle sheetの読み書きをしたく、もろもろの設定をしたのちコードを実行するとJsonファイルが見つからないとエラーが出てしまいます。
自分で検索しても解決できず、解決方法を教えていただけないでしょうか。
PythonファイルとJSONは同じフォルダに入っています。

python

1import gspread 2import json 3 4#ServiceAccountCredentials:Googleの各サービスへアクセスできるservice変数を生成します。 5from oauth2client.service_account import ServiceAccountCredentials 6 7#2つのAPIを記述しないとリフレッシュトークンを3600秒毎に発行し続けなければならない 8scope = ['https://spreadsheets.google.com/feeds','https://www.googleapis.com/auth/drive'] 9 10#認証情報設定 11#ダウンロードしたjsonファイル名をクレデンシャル変数に設定(秘密鍵、Pythonファイルから読み込みしやすい位置に置く) 12credentials = ServiceAccountCredentials.from_json_keyfile_name('XXXXXXXXXX.json', scope) 13 14#OAuth2の資格情報を使用してGoogle APIにログインします。 15gc = gspread.authorize(credentials)

Errorメッセージ

Errorメッセージ

1 File "/Volumes/GoogleDrive/My Drive/YYYY/local/70. Mics/python /AAAAAAA.py", line 12, in <module> 2 credentials = ServiceAccountCredentials.from_json_keyfile_name('XXXXXXXXXX.json', scope) 3 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/oauth2client/service_account.py", line 219, in from_json_keyfile_name 4 with open(filename, 'r') as file_obj: 5FileNotFoundError: [Errno 2] No such file or directory: 'XXXXXXXXXX.json'

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

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

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

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

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

chirimen

2022/07/08 00:12

カレントディレクトリはファイルの場所ですか? Path.cwd() で確認してみてください。Path は pathlib モジュールにあります。
guest

回答1

0

ベストアンサー

まずはos.getcwdなりでカレントディレクトリが意図通りか確認してください。
意図通りでなければ

のいずれか対応すればよいです。
ちなみにそのパスに実際にファイルが存在するかはos.path.existsで確認できます。

投稿2022/07/08 00:22

can110

総合スコア38262

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

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

poohpooh

2022/07/08 02:16

ありがとうございます!解決しました!!頂いた情報を元にディレクトリを調べると違う場所になっていたので、 import os os.chdir(os.path.dirname(os.path.abspath(__file__))) を追加することでディレクトリの指定ができました。ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問