タグ

ブックマーク / taichino.com (2)

  • SQLiteでCSVのインポート/エクスポートしたい件 – taichino.com

    データベースを使っていると、よくcsvファイルと相互に変換したくなります。MySQLやPostgreSQLでは標準でcsvのインポート/エクスポートができるので、SQLiteでも出来るだろうという事で調べてみました。 結論から言うとSQLiteで使えるCSVのインポート/エクスポートは制約が強くて使い辛いです。というのも、カラムの文字列内にセパレータ(標準ではカンマ)が含まれている場合は、クォートされていても、セパレータとして認識されてしまい、正常なcsvとして扱われないからです。(例えば”Hi, Nice to meet you.”は2カラムとして扱われます。) ちなみにSQLite標準のインポート/エクスポートは以下のように行います。 # 標準で以下のようにインポート/エクスポートできるが、セパレータが上手くパースされない .mode csv table_name # エクスポート S

  • Pythonでいろんなバイナリファイルを覗いてみる – taichino.com

    プログラマをしていると、ちょくちょくバイナリデータから情報を読みたくなりますね。そんな時は、ブツブツ言いながらバイナリエディタと睨めっこすることになるわけですが、これが結構大変なので、何とか楽にならないかなぁと思って探していると、hachoirというナイスなpythonモジュールが見つかりました。このモジュールを使うとバイナリデータをパースして様々なデータを取得できます。かなり多くのデータフォーマットに対応している(現時点で70種類)のが素晴らしいです。 hachoirはいくつかのモジュールに分かれているのですが、大抵は以下をインストールすれば良いと思います。 $ easy_install hachoir_parser $ easy_install hachoir_metadata このモジュールにはhachoir-metadataというコマンドラインツールが含まれていて、コードを書かなく

  • 1