Pythonのcsvモジュール
csvファイルを読み込んで処理をして出力すると便利な場合があります。Pythonのcsvモジュールはそういう時に使用すると簡単できます。csvモジュールを使えばcsvファイルを読み込み配列に格納するので、pythonでcsvの内容を順番に処理を行うことができます。そういう便利なものなので、csvファイルの処理に使用しようと、テストプログラムを作成して実行したところエラーが発生してしまい、ハマったのでその内容とその対策の紹介します。
その時に最終的に作成したプログラムをこちらで紹介したので参考にしてみてください。
エラー内容
テストプログラムを作成して、実行したところ下記のエラーが発生しました。csvモジュールがうまく読み込めていないようです。
Traceback (most recent call last):
File "csv.py", line 4, in <module>
import csv
File "csv.py", line 26, in <module>
loadcsv(argvs,trg)
File "csv.py", line 14, in loadcsv
with open(filename, 'r') as f:
IOError: [Errno 2] No such file or directory: 'test.csv'
エラーの原因
原因は恥ずかしながら、テストプログラムということでファイル名を”csv.py”にしていたためでした。”csv.py”はcsvモジュールのライブラリと同じファイル名のようで、名前ば衝突してうまく読み込めずエラーが発生していたようです。
エラーの対策
これはファイル名を変更するのが一番簡単です。私は”loadcsv.py”に変更しました。
ファイル名を変えても同じエラーが発生する場合
csv.pyをコンパイルして、”csv.pyc”が出来上がっていないでしょうか? “csv.pyc”があったらそちらも削除しましょう。私はなぜかpycができていてエラーが治らず、悩んでしまいました。
まとめ
エラーの内容は大したことがありませんが、エラーの中身が意味不明に見えるので悩みました。単純な話ですが、同じ罠にはまった人の参考にしてもらえると少し報われます。
コメント