Translate

【csv】[Errno 13] Permission denied:ってどんなエラー【python】


spyderを使ったpythonのスクリプトを書いていると、いろいろとエラーが出てきますよね。何回もやっているとよく見かけるエラーがありますが、何回やっても同じエラーを出してしまうことがあります。

今回はcsvデータをよく扱っているとよく出るエラー[Errno 13] Permission denied:について備忘録として残しておくことにします。


[Errno 13] Permission denied:はcsvファイルを開きっぱなしでpythonコードを回したときによく見かけるエラー



[Errno 13] Permission denied:はpythonやっているとよく見かけるエラーですが、これはどういった時に出るのでしょうか?

具体的には、csvデータを扱っているときに[Errno 13] Permission denied:をよく見かける印象があります。特にpythonのスクリプト上で計算した結果をcsvデータに保存するときに発生します。

では一体どういった条件で発生するのでしょうか?答えは割と簡単でした。単に保存したいcsvファイルを開いてしまっているときに、発生するというだけでした。

[Errno 13] Permission denied:はよく計算結果をcsvで書き出して、後にそのcsvファイルを開いて別なExcelシートやcsvファイルに貼り付けるときに起きやすいです。単に保存したcsvを開いたまんま同じスクリプトを回してしまうと、pythonのスクリプト側から、「今保存してようとしているcsvファイルは既に開いているから保存とかの編集ができないよ」と警告されているわけです。これが[Errno 13] Permission denied:の正体です。


それがわかってしまえば、[Errno 13] Permission denied:のエラーの対策は非常に簡単ですね。単にpythonスクリプト上で保存したいcsvファイルを閉じてしまえばよいというわけです。これは以外と忘れがちで他のいろんな所のエラーの原因を探していても原因が全く分からなくて、立ち往生してしまうことがあります。

こういうときは焦らず、一度基本に立ち返って見直すのが必要になるでしょう。