なんとかこの山を超え、とりあえずは元となるデータを準備できました。
◆前提
pythonは導入済みであること。
だいぶ前にいれましたので、バージョンはPython 2.5.2でした。
それからCygwin入ってるとunixコマンド使えるんで答え合わせで捗ります。
下記サイトで取得できるソースをエディタにコピペし、UTF-8で保存。
https://github.com/chokkan/nlp100/blob/master/prepare/address.py
郵便番号全データ及び、取得ソースを下記コマンドで、実行。
stdinに「KEN_ALL.CSV」を、そのアウトプットに「address.txt」を指定しました。
※はじめ単純に実行時パラメータとしてCSVを渡すも反応せずの状況で30分経過 orz
python address_utf8.py < KEN_ALL.CSV > address.txt
って、、、エラー発生。
【エラー内容】
Traceback (most recent call last):
File "address_utf8.py", line 7, in
s1 = unicode(''.join((row[6], row[7])))
UnicodeDecodeError: 'ascii' codec can't decode byte 0x96 in position 0: ordinal
not in range(128)
あーだこーだ悩みましたが、unicodeメソッドで読み込みファイルの文字コードを指定しないとだめっぽい。
っというわけで7,8行目、19行目のソース修正。
【修正前】
s1 = unicode(''.join((row[6], row[7])))
s2 = unicode(row[8])
・・・
print '\t'.join((s1, s2))
【修正後】
s1 = unicode(''.join((row[6], row[7])),'shift-jis')
s2 = unicode(row[8],'shift-jis')
・・・
print '\t'.join((s1, s2)).encode('shift-jis')
もう一回コマンド実施して、無事に作成されました。(∩´∀`)∩
python address_utf8.py < KEN_ALL.CSV > address.txt
とりあえずこれで1~10まで実施できる。
今日はおしまい。
【参考サイト】
[Python]Pythonと日本語表示と文字コード、unicode 、str 、utf-8 、shift-jis 、、
http://d.hatena.ne.jp/Cassiopeia/20070602/1180805345
日本語環境でのPython (for Python 2.3 or later)
http://www.python.jp/Zope/articles/japanese/Python4Japanese-2
UnicodeDecodeError/UnicodeEncodeErrorに悩まないPython 2.x プログラミング
http://d.hatena.ne.jp/atsuoishimoto/20110311/1299805971
UNICODE HOW TO
http://docs.python.org/howto/unicode.html
pythonは導入済みであること。
だいぶ前にいれましたので、バージョンはPython 2.5.2でした。
それからCygwin入ってるとunixコマンド使えるんで答え合わせで捗ります。
https://github.com/chokkan/nlp100/blob/master/prepare/address.py
stdinに「KEN_ALL.CSV」を、そのアウトプットに「address.txt」を指定しました。
※はじめ単純に実行時パラメータとしてCSVを渡すも反応せずの状況で30分経過 orz
Traceback (most recent call last):
s1 = unicode(''.join((row[6], row[7])))
UnicodeDecodeError: 'ascii' codec can't decode byte 0x96 in position 0: ordinal
not in range(128)
っというわけで7,8行目、19行目のソース修正。
今日はおしまい。
[Python]Pythonと日本語表示と文字コード、unicode 、str 、utf-8 、shift-jis 、、
http://d.hatena.ne.jp/Cassiopeia/20070602/1180805345
http://www.python.jp/Zope/articles/japanese/Python4Japanese-2
http://d.hatena.ne.jp/atsuoishimoto/20110311/1299805971
http://docs.python.org/howto/unicode.html