タグ

csvに関するhazy-moonのブックマーク (5)

  • 「タブ区切りは CSV じゃなくて TSV だろ」問題がついに解決した

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

    「タブ区切りは CSV じゃなくて TSV だろ」問題がついに解決した
  • qを使ったELBログの簡単分析 | DevelopersIO

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

    qを使ったELBログの簡単分析 | DevelopersIO
  • LightCsv

    LightCsv CSV パーサ 作者 とみたまさひろ <tommy@tmtm.org> ライセンス Ruby ライセンス http://www.ruby-lang.org/ja/LICENSE.txt と同等。 機能 CSV をパースして配列を返す。 ダウンロード http://tmtm.org/downloads/ruby/lightcsv/ インストール $ make $ make test # make install CSVのパース 各レコードはカラムを要素とする配列である。 レコードの区切りは LF,CR,CRLF のいずれか。 以下が csv.rb と異なる。 空行は [nil] ではなく [] になる。 「"」で括られていない空カラムは nil ではなく "" になる。 使用例 CSVファイルのレコード毎にブロックを繰り返す。 LightCsv.foreach(filena

  • FastestCSV がヤクい件 - ´・ω・)<ときどき書くよ

    Ruby の標準添付CSV パーサが遅いというのは有名な話なので これまでは主にFasterCSV を使っていました。 FasterCSV のベンチマーク - *Trace Output* にあるとおり、標準のパーサと比較して 結果 csv を parse して行数を数えるだけのスクリプト(後述)の実行時間を GNU time で測定しました。 対象 結果 ruby 1.8.4 + 標準添付の csv 12分26秒56 ruby 1.8.4 + FasterCSV 0.1.9 2分34秒92 FasterCSV は標準添付の csv パーサの 5〜6 倍速いようです。 と、それなりに満足していたのですが、とあるPHP で書かれた「CSV を解析してほげほげする処理」を Ruby で書き直してみたところ、10倍以上の時間が掛かるようになってしまいました。 # 4万行↑のCSV のため、数十秒

    FastestCSV がヤクい件 - ´・ω・)<ときどき書くよ
  • CSV を扱う(Text:CSV_XS) - モダンなPerl入門 - モダンなPerl入門

    CSV の取り扱い CSV を扱うには Text::CSV_XS をつかいます。 CSV データをよみこむ use Text::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