CSV ありますね。カンマ区切りのデータ形式。 なんか根強いファンがいて、どうしてもこの形式のファイルをダウンロードしたりアップロードしたりしたいという要望をよく聞きます。CSV がほしい理由 これをやりたい理由のひとつとして、MicrosoftExcel からエクスポートしたデータを読み込ませたいとか、逆にシステムにあるデータをエクセルで見たいとかいうのがあると思います。あると思いますっていうかほとんどそれじゃないかな。 けどこの場合、カンマ区切りである必要はないんですよね。要するにエクセルとやりとりできさえすればいいわけで。 だったらカンマじゃなくてタブですよタブ。 カンマ区切りをやめてタブ区切りにすると、いろいろいいです。 何もエクスポートしなくても、エクセルの画面で「すべて選択」して「コピー」したら勝手にタブ区切りになってるからそのまま貼っつけるだけでいい。 テキストエディタな

はじめにCSV/TSVなどのテキストファイルをSQLライクに参照できる「q」というツールがあります。本ブログでも紹介したことがあります。CSV/TSVに対してSQL発行できるツール「q」 今回はこのqでS3に保存されているELBのログを分析してみたので、その手順を紹介いたします。 手順 まず、qを実行するためのEC2インスタンスを起動します。 リージョンはログが保存されているS3バケットと揃えた方が良いでしょう。 S3からログをダウンロードする必要があるので、起動の際にAmazonS3ReadOnlyAccess権限を持ったIAM Roleを付与してください。 インスタンスタイプやEBSサイズは分析するログの量に合わせて調整してください。 一時利用なので大きめのSpotインスタンスでも良いかもしれません。 インスタンスが立ち上がったらqをインストールします。 $sudo rpm -

LightCsvCSV パーサ 作者 とみたまさひろ <tommy@tmtm.org> ライセンスRuby ライセンス http://www.ruby-lang.org/ja/LICENSE.txt と同等。 機能CSV をパースして配列を返す。 ダウンロード http://tmtm.org/downloads/ruby/lightcsv/ インストール $ make $ make test # make installCSVのパース 各レコードはカラムを要素とする配列である。 レコードの区切りは LF,CR,CRLF のいずれか。 以下がcsv.rb と異なる。 空行は [nil] ではなく [] になる。 「"」で括られていない空カラムは nil ではなく "" になる。 使用例CSVファイルのレコード毎にブロックを繰り返す。 LightCsv.foreach(filena
Ruby の標準添付CSV パーサが遅いというのは有名な話なので これまでは主にFasterCSV を使っていました。 FasterCSV のベンチマーク - *Trace Output* にあるとおり、標準のパーサと比較して 結果csv を parse して行数を数えるだけのスクリプト(後述)の実行時間を GNU time で測定しました。 対象 結果ruby 1.8.4 + 標準添付のcsv 12分26秒56ruby 1.8.4 + FasterCSV 0.1.9 2分34秒92 FasterCSV は標準添付のcsv パーサの 5〜6 倍速いようです。 と、それなりに満足していたのですが、とあるPHP で書かれた「CSV を解析してほげほげする処理」をRuby で書き直してみたところ、10倍以上の時間が掛かるようになってしまいました。 # 4万行↑のCSV のため、数十秒
CSV の取り扱いCSV を扱うにはText::CSV_XS をつかいます。CSV データをよみこむ useText::CSV_XS; my $csv =Text::CSV_XS->new({binary => 1, eol => $/}); open my $fh, "<:utf8", $file or die "$file: $!"; #"> while (my $row = $csv->getline($fh)) { my @fields = @$row; # なにか処理をする } 上記のように書きましょう。とっても簡単ですね。 (binary => 1 をつけわすれると、日本語の扱いがうまくいかないので、気をつけましょう)CSV データをつくる my @data = ( [qw/a b c/], [qw/d e f/], [qw/g h i/], ); my $csv
1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く