Mojibake Data Cleaning

KaggleのData Cleaning Challengeでファイルのエンコード方式の推測コードを知ったのでメモ

 

以下python

import chardet
open("unknown-encoding-file.csv", "rb") as f:
    result = chardet.detect(f.read(10000))
print(result)

これを実行するとencoding: "Windows-1252"でconfidence: 0.73のような結果が得られる

df = pd.read_csv("unknown-encoding-file.csv", encoding="Windows-1252")

得られたエンコード方式で問題なければ読み込める

 

Mojibakeは英語でもMojibakeのよう

{'encoding': 'Windows-1252', 'confidence': 0.73, 'language': ''}
{'encoding': 'Windows-1252', 'confidence': 0.73, 'language': ''}
{'encoding': 'Windows-1252', 'confidence': 0.73, 'language': ''}
{'encoding': 'Windows-1252', 'confidence': 0.73, 'language': ''}