Django Girls and Boys 備忘録

Python、Selenium、Django、java、iPhoneアプリ、Excelマクロなどで気付いたこと、覚えておきたいことなどを載せていきます。

【Python Excel】openpyxlを使用してExcel操作する時にうまくいかない場合の対処方法


PythonにてExcelの読み書きを行う場合のやり方の1つにopenpyxlを使用してやる方法があります。

 

しかしながらopenpyxlを使用もなかなかファイル操作がうまくいくようなところまでたどりつけない場合も多いと思います。

 

今回は、そのような場合に考えられることややれることなどをまとめてみましたのでこの中のいずれかで解決できないか参照してみてください。

 

 

 

目次

 

1.ファイルの種類

 

openpyxlを使用してExcelファイルの操作を行う場合に扱えるファイルの種類としては旧形式の「.xls」は使えないため「.xlsx」にする必要があります。

 

2.オープンしているファイルの操作

 

openpyxlを使用してオープンしているExcelファイルの操作を行おうとすると以下のようなエラーが出るのではないかと思います。

 

PermissionError: [Errno 13] Permission denied: 'xxxx.xlsx'

 

これはファイルアクセス許可に関するエラーで、開いているファイルにアクセスしようとしようとしたためアクセスが拒否されたというものです。

 

この場合は、対象ファイルを閉じてからアクセスするようにすればアクセスできるようになります。

 

3.オープンしているファイルにアクセスしたい場合

 

どうしてもオープンしているファイルにアクセスしたい場合には、以下の記事にも記載していますがpywin32ライブラリを使用するという方法があります。

 

詳しくは以下の記事を参照ください。

 

kuku81kuku81.hatenablog.com

 

 

4.マクロありファイル(.xlsm)へのアクセス方法

 

アクセスしたいファイルが「.xlsx」ではなく「.xlsm」(マクロありファイル)の場合には、アクセスの仕方にちょっとした違いがあります。

詳しくは以下の記事をご参照ください。

 

kuku81kuku81.hatenablog.com

 

 

5.PythonからExcelファイルへアクセスする場合の一通りの方法

 

はじめてアクセスする場合などでうまくいっていないような場合には、以下の記事にPythonやエディターなどのダウンロード、インストール、設定から簡単なExcelファイルへのアクセスコード記載などの一通りの内容を記載していますのでご参照ください。

 

やりたいことがこの内容と同様であれば、以下の手順と今までやってきた手順との違いを洗い出したり再度これに沿ってやってみるかなどで解決できないかを試してみてください。

 

kuku81kuku81.hatenablog.com

 

以上がopenpyxlを使用してExcel操作するときにうまくいかない場合の対処方法例になります。