【python】csvモジュールでNULL byteによるエラーが発生した時の対処

先日、csvのデータ処理をpythonで行っている際に以下のようなエラーが発生しました。

その時の対処法をメモしておきます。

エラー

_csv.Error: line contains NULL byte

修正前

with open('sample.csv', 'r') as r:
    reader = csv.reader(r)

修正後

with open('sample.csv', 'r') as r:
    reader = csv.reader((line.replace('\0','') for line in r))

pythonでは\0がnullのエスケープシーケンスとして割り当てられています。

そのため、csv読み込み時にnull byteを空文字に変換してあげれば解決できるようです。