pd.read_csv()のencoding = 'utf-8'と 'utf-8-sig'の違い



Difference Between Encoding Utf 8andutf 8 Sigin Pd



Pandas.read_csv形式の奇妙な問題


一般的なutf-8、gbkに加えて、今日、utf-8-sigもあることがわかりました。

次のようなデフォルトの形式で開きます。
画像

明らかにエンコードの問題ですが、utf-8でファイルを開くと、次のことがわかりました。
画像
openでファイルを開き、これを確認します。
画像
ファイルのヘッダーに ufeffフィールドがあることがわかりますが、feffはどういう意味ですか?
feffはBOM(Byte Order Mark)であり、表示されない識別フィールドです。 utf-16やutf-32などでは、feffが最初の位置に配置され、バイトストリームが前面でハイであることを示します。前面ではまだローです。
ただし、一般的なutf-8はBOMを必要としません。この問題を解決するために、utf-8-sigエンコーディングを使用してcsvファイルを開きます。これは正常であることがわかります。
画像
概要:エンコーディングの問題が発生した場合は、gbk(国家標準拡張)とutf-8を考慮することに加えて、BOMやその他の目に見えないがいたずらな文字を確認し、openで直接開くことを忘れないでください。ファイルを見て、に戻ります。それをより明確に見るための最も基本的なレベル。