LoginSignup
0
0

More than 3 years have passed since last update.

[Python: UnicodeDecodeError] CSV読み込み時のエラー解決策の1つ

Posted at

はじめに

最近、Android端末でセンサデータを収集し、それをPythonをもちいてJSON形式からCSV形式に変換してデータ整形をする、なんて機会がとても多くなってきました。

そこで、とあるエラーに嵌ってしまったので、備忘録としてメモを残しておきます。

発生したエラー

UnicodeDecodeError: '***' codec can't decode byte 0x* in position **:

このエラーをみると、CSVに何かおかしな文字が混ざってしまっているのか、それとも下記のコードに不備があるのかと思いました。
しかし、今回に限ってはそうではありませんでした。

with open(path, encoding="***")

該当するコードスニペット

dir = os.getcwd() + "/" + folder
files = os.listdir(dir)

このコードは、とあるフォルダに存在するファイルをリスト形式で返すことができるものです。
このコードを使って、大量のJSONファイルやCSVファイルをリスト形式で扱おうとしておりました。

原因

.が先頭についているファイル、いわゆる隠れファイルがリストに含まれてしまうことが原因でした。
自環境の場合、「.DS_Store」がリストに含まれていました。

さいごに

もし同じようなエラー(沼)に嵌ってしまった方がいれば、隠しファイルなど”本来扱いたくないファイル”を誤って読み込んでいないか確認することをおすすめします。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0