[ホーム] - [よく見るエラーメッセージ一覧] - ["LookupError: unknown error handler name" が open 関数で発生する原因と対処]

【Python】"LookupError: unknown error handler name" が open 関数で発生する原因と対処 | Python で csv ファイルを読み込み | Windows





作成日:2022/02/09

open 関数は文字コードを指定することが可能です。ただし指定した文字コードとファイルの文字コーとが異なる場合はこの "LookupError: unknown error handler name"エラーが発生するようです。
次のサンプルコードではファイルを UTF-8で開くオプションを指定していますが、実際のファイルは Shift-JISで記載されているためこのエラーが発生しています。

【間違い】

import csv

csvfile = open("c:\\temp\\testfile.csv" , "r" , encoding = "UTF-8" , errors="" , newline="")

f = csv.reader(csvfile , delimiter=",", doublequote=True, lineterminator="\r\n", quotechar='"', skipinitialspace=True)

h = next(f)

print(h)

for row in f:
print(row)

Traceback (most recent call last):
File "c:\temp\test.py", line 7, in h = next(f)
File "C:\Users\username\AppData\Local\Programs\Python\Python39\lib\codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
LookupError: unknown error handler name ''

【正しい】

import csv

csvfile = open("c:\\temp\\testfile.csv" , "r" , encoding = "shift_jis" , errors="" , newline="")

f = csv.reader(csvfile , delimiter=",", doublequote=True, lineterminator="\r\n", quotechar='"', skipinitialspace=True)

h = next(f)

print(h)

for row in f:
print(row)

['東京京', '名古屋', '大阪']
['100', '50', '30']
['50', '30', '70']
['15', '55', '100']

サンプルコード

以下は Windows 10 環境における正常実行可能なサンプルコードです。

Windows 環境の Python にて、 csv (Comma Separated Value) ファイルを読み込むサンプルプログラムを紹介します。
次の例ではc:\temp\testfile.csv をcsv ファイルとして読み込みんでいます。
ヘッダーを出力し、その後各行を1行ごとに出力しています。

サンプルコード:


import csv

csvfile = open(r"c:\temp\testfile.csv" , "r" , encoding = "shift_jis'" , errors="" , newline="")

f = csv.reader(csvfile , delimiter=",", doublequote=True, lineterminator="\r\n", quotechar='"', skipinitialspace=True)

h = next(f)

print(h)

for row in f:
print(row)


実行結果:

['東京京', '名古屋', '大阪']
['100', '50', '30']
['50', '30', '70']
['15', '55', '100']







本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)

[ホーム] - [よく見るエラーメッセージ一覧]