\

Pythonでファイルを読み込む際、特定のエンコーディング(例えばUTF-8)でない文字が含まれていると、UnicodeDecodeErrorが発生することがあります。この問題を解決するためには、codecsモジュールを使用して、ファイルがUTF-8であることを明示し、UTF-8以外の文字が含まれている場合、その行を無視して次の行を読み込むことができます。

以下にそのコードを示します。

import codecs

with codecs.open('file/to/path', 'r', 'utf-8', 'ignore') as f:
    for line in f:
        line = line.strip()
        # つづきの処理

このコードでは、codecs.open関数を使用してファイルを開き、エンコーディングをUTF-8と指定しています。さらに、’ignore’オプションを指定することで、UTF-8ではない文字が含まれている行を無視して、次の行を読み込むことができます。

この方法を使用すれば、大きなファイルや、どこかからダウンロードしたファイルなど、どの文字がUTF-8ではないのか特定することが難しい場合でも、Pythonでファイルを安全に読み込むことができます。

なお、pandasでの読み込みも同様に対処できます。

import codecs
import pandas as pd

with codecs.open('file/to/path', 'r', 'utf-8', 'ignore') as f:
    df = pd.read_csv(f)

このように、Pythonのcodecsモジュールを使用すると、エンコーディングの問題を効果的に解決することができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です