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

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

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

openpyxlは、Excel2007以降のファイル(xlsx/xlsm/xltx/xltm)を読み書きするためのPythonライブラリです。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Python

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

Q&A

解決済

2回答

1006閲覧

VScodeで文献を参考に、Excel自動化の学習を進めていますが、文献の通りに記述してもエラー連発が止まりません。

pupi.6

総合スコア1

openpyxl

openpyxlは、Excel2007以降のファイル(xlsx/xlsm/xltx/xltm)を読み書きするためのPythonライブラリです。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Python

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

0グッド

0クリップ

投稿2021/03/29 18:43

編集2021/03/29 21:31

VScodeで文献通りに学習しているが、エラーばかりでお手上げです。

Pythonを独学で学習し始め1ヶ月ほどのド初心者です。
横にiPadを並べkindle書籍を見ながらVScodeにて全く同じ内容で学習を進めているのですが、文献の通りにしてもエラーが多発し、検索しても解決方法が見つからず困っております。
文献の通りなのでコードミスは考え難く、PATHの追加等もしているのですが問題解決に至らず、、
おそらく何かしらのソフトの互換性やバージョンの違いでうまく進まないのかなと推測していますが全くお手上げ状態です。まずは、根本的な問題解決したいのでお力添え願います。

※参考文献【Python&Excel自動処理】【PythonでExcel、メール、webを自動化】

パソコンのスペック
MacBook Pro 2020
1.4Ghz、Core-i5 メモリ8GB
macOS Big Sur
anacondaインストール済み、VScodeでPython拡張機能を追加し記述しています。

【エラー内容】
■openpyxlにてExcelデータを自動作成したいのですが、SyntaxError: invalid syntax 〜〜とエラーが出る
イメージ説明
■参考文献のサンプルプログラムをダウンロードしてもexcelファイルが見当たらないと出る
イメージ説明
■文献の通りにコードを記述するも、Excelファイルが作成・保存されない
イメージ説明

初めての質問で、自分なりにもし記述漏れで返答しにくいなどありましたら、教えていただけると幸いです。

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

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

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

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

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

KojiDoi

2021/03/29 19:39

「文献の通り」とあなたが思っていることが実際には「文献通り」でないことだけは確かです。しかし、そのSyntaxError: invalid syntaxがでたプログラムのコードを見せてもらわないことには、何が間違っているのか判断しようがありません。とにかくそのコードを質問に追記してください。 その際は https://teratail.com/help/question-tips#questionTips3-3-1 をよく読んで、正しい方法でコードを書いてください。
hayataka2049

2021/03/29 19:55

コードと一緒に「エラーメッセージの全文(全行省略せず記載)」も掲載していただけるとスムーズに回答できます。
pupi.6

2021/03/29 21:34

KojiDoi様、hayataka2049様、回答ありがとうございます。 各エラーについて画像添付いたしましたのでご確認ください。
CHERRY

2021/03/29 21:59

画像ではなくテキストも 貼り付けていただけないでしょうか?
jbpb0

2021/03/29 22:49 編集

Pythonで下記コードを実行すると、「カレントディレクトリ」が表示されます import os print(os.getcwd()) Pythonで読みたいエクセルファイルを「カレントディレクトリ」に置けば、Pythonで読めるはず Pythonで作成したファイルも、「カレントディレクトリ」にあると思います (Pythonコード実行でエラー出なければ)
quickquip

2021/03/30 02:37

テキストで示せるものはテキスト形式で引用して、テキストで示すのが難しい情報はスクリーンショットで示すのがいいです。 今回、ファイルをどのように配置しているかを示すのが(質問者さんにとって)難しいようなら、VS CodeのEXPLORERサイドバーを全部展開してスクリーンショットを取るなどするのがよいかと思います。
guest

回答2

0

ベストアンサー

原因はカレントディレクトリに'議事録.xlsx'が存在しないというエラーです。

動いているそれぞれソフトウェアは、とあるディレクトリに居ます。
それのことをカレントディレクトリとかワーキングディレクトリと呼びます。

あなたの動かしているpythonのカレントディレクトリにあるファイルは、ファイル名を指定するだけでだけで読んだり書いたりできます。しかし、カレントディレクトリにないファイルは、絶対パス名か相対パス名を指定しないと読んだり書いたりできません。

絶対パス、カレントディレクトリについては、ディレクトリとはあたりを読んでみてください。

pythonでカレントディレクトリを知りたければ以下を実行してください。

python

1import os 2print(os.getcwd())

これで表示されるカレントディレクトリに'議事録.xlsx'がないのでエラーになっています。

動作させるための方法は二つあります。

  • 方法1 カレンドディレクトリに議事録.xlsxを置く

finderでコピーしましょう。

  • 方法2 絶対パスを指定する。

wb = load_workbook('議事録.xlsx')を以下のような絶対パス名で置き換えましょう。
wb = load_workbook('/User/MyName/foo/bar/議事録.xlsx')

絶対パス(フルパス)の調べ方はMacでファイルフルパスを簡単にコピーする方法を参照してください。

投稿2021/03/29 22:50

編集2021/03/29 22:54
ppaul

総合スコア24666

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

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

jbpb0

2021/03/30 04:55

・方法3 カレントディレクトリが自動的に変更されるようにする Pythonコードファイル(*.py)の先頭に下記を追記すると、カレントディレクトリが自動的にPythonファイルが置いてあるディレクトリに変わるので、エクセルファイルをPythonファイルと同じディレクトリに置けば、読むことができる import os os.chdir(os.path.dirname(os.path.abspath(__file__))) その場合は、下記のようなファイル名指定は、そのままでよい (絶対パスに変える必要はない) wb = load_workbook('議事録.xlsx')
pupi.6

2021/03/31 01:53

とても分かりやすく丁寧なご回答ありがとうございます。 方法1で困っていた3つのエラーが解決できました。 他の2つの方法でも試してみます。
guest

0

上の画像ふたつは、No suck file or directory が,エラーですね。

エラーメッセージに書かれているファイルは存在していますか?
プログラムの中で、Excel ファイルをフルパスで記載するとどうなりますか?

投稿2021/03/29 22:06

CHERRY

総合スコア25171

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問