python におけるCSVデータ読み込み時の文字コードエラー
Python(Flask)におけるCSVファイルの読み込みで困っています。
Shift_JISで保存され、データがダブルクオテーションで囲まれているCSVデータがあります。
以下の2パターンでファイルを開き、中のCSVをカンマ分割して取得する部分でエラーになります。
ある行になると必ず下記エラーがでるのですが、その行のデータをみても、一見おかしいところはありません。
また、PythonのIDLEで同様に処理するとエラーが無いのですが、Flaskにて実行するとエラーになります。
もし原因がありそうでしたらよろしくお願いします。
(1)
fo=codecs.open(f,"rb",'shift_jis')
for line in fo:
d=line.split(",")
エラー文
UnicodeDecodeError: 'shift_jis' codec can't decode bytes in position 298-299: illegal multibyte sequence
(2)
fo=open(f,"rb")
for line in fo:
d=line.split(",")
エラー文
ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.