ライブラリ: chardet

Pythonの「chardet」というライブラリについてご紹介します。

import chardet

「chardet」は、ファイルやページの文字コードを判定するためのライブラリです。「CHARacter DETection」の略ですね。

「コマンドラインで使う使い方」と「コードの中で使う使い方」の2通りがあります。まずはコマンドラインで使うやり方から見ていきます。

コマンドラインで使う

chardetect.py sample.txt

chardetをインストールしたら、コマンドラインでchardetect.pyが使えるようになっているかと思います。

それにファイル名を渡せば、文字コード判定結果を返してくれます。

判定結果は 「ファイル名: 文字コード with confidence 数値」 という形で返ってきます。文字コードの部分が判定した文字コード、数値の部分が信頼度で、0以上1以下の数値となっています。

chardetect.py sample1.txt sample2.txt sample3.txt

複数のファイルを渡せば、文字コードをまとめて判定することも可能です。前から順番に、各ファイルの判定結果が返されます。

コードの中で使う

import urllib
import chardet

rawdata = urllib.urlopen('https://www.1101.com/').read()
print chardet.detect(rawdata)
{'confidence': 0.98999999999999999, 'encoding': 'SHIFT_JIS'}

コードの中で使うには、chardet.detect()を使います。ファイルやインターネットから取り込んだデータを渡すと、結果を辞書にして返してくれます。

以上です。

インストール pipが入っていれば、

pip install chardet

でインストールすることができます。

参考