web-dev-qa-db-ja.com

Panda read_csvのエンコードエラー

CSVファイルをパンダのデータフレームに読み取ろうとしています。それをしようとすると、次のエラーが表示されます。

UnicodeDecodeError: 'utf-8'コーデックは位置55のバイト0x96をデコードできません:開始バイトが無効です

これはコードからです:

import pandas as pd

location = r"C:\Users\khtad\Documents\test.csv"

df = pd.read_csv(location, header=0, quotechar='"')

これはWindows 7 Enterprise Service Pack 1マシン上にあり、作成するすべてのCSVファイルに適用されるようです。この特定のケースでは、ロケーション55からのバイナリは00101001であり、ロケーション54はそれが重要であれば01110011です。

テキストエディターでファイルをUTF-8として保存しても、役に立たないようです。同様に、パラメータ「encoding = 'utf-8'」を追加しても機能しません。同じエラーが返されます。

このエラーの最も可能性の高い原因は何ですか?DataFrameコンストラクトを一時的に放棄し、csvモジュールを使用してCSVを1行ずつ読み取る以外の回避策はありますか?

44
khtad

read_csvencoding='latin1'、またはencoding='iso-8859-1'を使用してencoding='cp1252'を呼び出してみてください(これらはWindowsにあるさまざまなエンコーディングの一部です)。

117
maxymoo

これはMacでも動作します

df= pd.read_csv('Region_count.csv',encoding ='latin1')

10
sushmit