2013/10/02

ライブラリ: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('http://www.1101.com/').read()
print chardet.detect(rawdata)
{'confidence': 0.98999999999999999, 'encoding': 'SHIFT_JIS'}
コードの中で使うには、chardet.detect()を使います。ファイルやインターネットから取り込んだデータを渡すと、結果を辞書にして返してくれます。


以上です。


インストール
pipが入っていれば、
pip install chardet
でインストールすることができます。


参考
chardet - PyPI
chardet - Github
文字コードを推定する - 逆引きPythonメモ

0 件のコメント: