MySQLが出力するCSVファイルをPythonで読みたい件  このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加

2010年3月8日

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

この投稿の続きを読む »

Pythonで日本語を含んだリストと辞書をpretty printしたい件  このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加

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デバッグするにも萎えますよね。複雑な辞書を出力した場合なんかは、出力された文字列の整形にかなりのパワーを裂かれること請け合いです。

この投稿の続きを読む »

gitのリポジトリ作成メモ  このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加

2010年3月2日

基本的にはgithubを使えば良いとは思うんですが、privateなリポジトリを作りたい時もあります。で、たまーにリポジトリ作るんですが、毎回方法をすっかり忘れてしまうのでメモ書きです。

この投稿の続きを読む »

[objective-c] FMDatabaseの使い方メモ  このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加

2010年2月28日

ここ2、3週間久々にiphoneを弄っているのですが、GCが入ってない環境でのプログラミングはやらないと衰えるんですね。LLに慣れると辛いです。細かい事にまで気を使う必要があるので疲れますね。ブログ書きながらリハビリしようと思います。
さてiPhoneではバックエンドにSQLiteを使えるんですが、そのラッパーのFMDatabaseの使い方をまとめておきます。

この投稿の続きを読む »

浮動小数点の情報落ちを追って見た  このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加

2010年2月19日

今日topcoderの問題を解いてて、浮動小数点の誤差ではまりました。問題を単純化したコードが以下になります。

#include <iostream>
using namespace std;
 
int main(int argc, char** argv) {
    double small = 1e-18;
    double big   = 1;
    double added = small + big;
    cout << added << endl;  // 1が出力される。(small分が切り捨てられてる)
}

加算を行った結果、小数点以下の値が切り捨てられています。一瞬何が起こったのか解らなかったのですが、折角なので追ってみる事にしました。

この投稿の続きを読む »