前提
お世話になります。
今回、質問させて頂きます。プログラミング初心者の者です。
エラーが出て、調べても解決できないのでこの場を借りてご教授いただきたいです。
実現したいこと
今回、Pythonを実行してGoogleスプレッドシートへ値を書き込むという動作をしたいと思い、
1.Google cloud Platformのプロジェクトを作成
2.Google Drive APIを有効化
3.Google Sheets APIを有効化
4.外部アプリからスプレッドシートにアクセスするための認証情報を設定
5.スプレッドシート側の共有設定
6.実際にプログラムを書く ←ここで躓いています。
上記、5番まで済ませて、
まずはスプレッドシートを操作・通信できるか確認したいと思い、
【スプレッドシートに値を書き込む動作】を書きました。
そしてプログラムを実行するとエラーになります。
エラーメッセージは下記の通りです。
発生している問題・エラーメッセージ
AttributeError: 'Spreadsheet' object has no attribute 'update_cell'
該当のソースコード
Python
1from time import sleep 2from selenium import webdriver 3import os 4import time 5import gspread 6import json 7from oauth2client.service_account import ServiceAccountCredentials 8 9 10scope = ['https://spreadsheets.google.com/feeds','https://www.googleapis.com/auth/drive'] 11pas = r'C:\Users\sasur\OneDrive\プログラミング\Python関係\test_gs\pythontest-278807-eb0d1c5f41d7.json' 12credentials = ServiceAccountCredentials.from_json_keyfile_name(pas,scope) 13gc = gspread.authorize(credentials) 14SPREADSHEET_KEY = '1w0TuBEgg8TTw9B1XozbLEIRox7ghZFyZUKMcjhwSO2M' 15worksheet = gc.open_by_key(SPREADSHEET_KEY) 16 17worksheet.update_cell(1, 1, 'test value')
試したこと
要因などを一つづつ潰していきました。
また、エラーコードをネットなどで調べて様々なサイトなどを見てみました。
・今回使用するライブラリのバージョンの違いなのか→問題なく最新です。
・コードの記述が悪いのか→おそらく正常な書き方だと思います。
・設定が悪いのか→YouTubeなどで手順などを確認しながら行ったのでおそらく問題ないと思います。
・そもそもの実行ファイルが違うのか→ファイルの指定は合っています。
なかなか解決できませんでした。
補足情報(FW/ツールのバージョンなど)
コード最後の行、worksheet.update_cell(1, 1, 'test value')を消すと、エラーなど出ず問題なく実行できます。
試しにコードを下記のように変更しても同様なエラーが発生します。
worksheet.update_cell(1, 1, 'test value')→print(worksheet.acell("G2").value)
説明が分かりづらかったら申し訳ありません。
なぜ、スプレッドシートに読み書き、通信などができない原因が知りたいです。
以上、ご教授の程よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー