‘python’ タグのついている投稿

MySQLが出力するCSVファイルをPythonで読みたい件

2010年3月8日 月曜日

ケースとしてはレアな気がしますが、MySQLのSELECT 〜 INTO OUTFILEで出力したCSVに対して、処理をしたい時があります。僕の場合はpythonでやるわけですが、MySQLが出力するCSVの形式がpythonデフォルトの物と違うようでハマったのでメモしておきます。

(続きを読む…)

Pythonで日本語を含んだリストと辞書をpretty printしたい件

2010年3月5日 金曜日

Pythonでコード書いてると、1回は残念だなぁと思うポイントとして表題の件があると思います。具体的には以下です。

# リストも辞書も出力がお世辞にも良いとは言えない。。
>>> print ['あ', 'い', 'う']
['\xe3\x81\x82', '\xe3\x81\x84', '\xe3\x81\x86']
>>> print {'title':'ねじまき鳥', 'author':'村上春樹'}
{'author': '\xe6\x9d\x91\xe4\xb8\x8a\xe6\x98\xa5\xe6\xa8\xb9', 'title': '\xe3\x81\xad\xe3\x81\x98\xe3\x81\xbe\xe3\x81\x8d\xe9\xb3\xa5'}

日本語がバイト表現な上、全要素が1行で表示されています。これではちょっとprintデバッグするにも萎えますよね。複雑な辞書を出力した場合なんかは、出力された文字列の整形にかなりのパワーを裂かれること請け合いです。

(続きを読む…)

Pythonで辞書のキーに正規表現を使いたいという話

2010年2月12日 金曜日

配列や連想配列をディスパッチテーブルとして利用していると、キーに正規表現を使いたくなる事があります。perlだと既にRegexp::Assembleというモジュールを使う方法が書かれていますが、僕はpythonで書きたい訳です。

(続きを読む…)

BeautifulSoupでスクレイピングのまとめ

2010年2月10日 水曜日

何度かBeautifulSoupについては書いているのですが、未だに使い方が覚えられずにイライラします。仕方が無いのでまとめて置く事にしました。BeautifulSoupはHTMLから情報を取得するだけ無く、HTMLの編集もできますが、ここではスクレイピング用途のみに絞っています。

(続きを読む…)

XML::Simpleっぽいpythonモジュール書いた

2010年2月4日 木曜日

Yahooの形態素解析APIを使おうと思ったら、XML形式しか対応してなかったので、Perlで言うところのXML::Simpleなpythonモジュールを探したのですが見つかりませんでした。XML::SimpleはXMLとPerlのハッシュ(と配列の混合オブジェクト)を相互に変換するモジュールで、ちょっとしたXMLの処理をするには非常に便利なので残念です。普通にDOMを弄っても良かったのですが、Python クックブックにベースとなるコードを見つけた事もあり、勢いでXML::Simpleを(中途半端に)移植してみました。

(続きを読む…)