2008-09-04 13 views
11

大きなCSVファイルの読み込みに適したプログラムはありますか?私が扱うデータファイルの中には、1 GBの範囲にあるものもあります。彼らはExcelで扱うには余りにも多くの行を持っています。 Accessを使用すると、実際にデータベースに直接インポートする必要があるので、少し遅くなる可能性があります。大規模なCSVファイルを開くことができ、データを簡単かつ迅速にスキャンするのに役立つ簡単なスプレッドシートレイアウトを提供するプログラムはありますか?大きなCSVファイルを扱うためのプログラム

+0

はい、あります。 [OpenRefine] [1](またはGoogle Refine)を使用できます。 OpenRefineはステロイドのスプレッドシートに似ています。 操作できるファイルサイズは、コンピュータのメモリによって異なります。 [1]:http://openrefine.org –

答えて

8

LOAD DATA INFILEコマンドを使用して、テーブルにCSVファイルを非常に迅速にインポートできます。 CSV storage engineを使用して、インポート手順をバイパスしてCSVファイルから直接読み取ることもできます。

LOAD DATA INFILEでネイティブテーブルにインポートすると、起動コストが発生しますが、その後は、インデックスフィールドと同様に、より高速にINSERT/UPDATEを実行できます。 CSVストレージエンジンの使用は、最初はほとんど瞬間的ですが、順次スキャンだけが高速になります。

更新This articleインスタントデータロードというセクションにスクロールダウン)が使用して語るの両方のMySQLにロードするCSVデータへのアプローチ、および例を示します。

+0

私は15-30MBのCSVファイルで構成された不動産MLSのデータセットで作業しました。 MySQL LOAD INFILEがなければ、各フィードは処理に1時間以上かかりました....しかし、MySQLとrawテーブルを使用して、より大きなデータセットでさえ5〜6分まで処理を削減しました。 – David

2

vEditはこれに最適です。私は日常的に100 + meg(私はあなたが1つのギグに言ったことを知っている、私は彼らがそれを2倍に扱うことができる自分のサイトで広告すると思います)ファイルを開きます。これは、正規表現のサポートと他の多くの機能があります。 70ドルは、あなたがそれでやることができる額のために安いです。

0

vEditは素晴らしいですが、いつも "基本"に戻り、Cygwinをチェックしてgrepingを開始することを忘れないでください。

参考になっは

  • ヘッド
  • 尾コースのperlの
    • のgrepコマンド!
  • 1

    スプレッドシートの静的フィールドサイズビューに接続していない場合、GVimは大きなファイルを処理できます。

    0

    実際にデータで何をしたいかによって異なります。そのような大規模なテキストファイルがあれば、通常は一度にデータの小さな部分集合だけが必要なので、探したい部分を引き出すための 'grep'のようなツールは見落とさないでください。

    0

    メモリにデータを格納することができ、Pythonが好きな場合は、AugustusのUniTable部分をチェックすることをお勧めします。 (免責事項:アウグストゥスは、オープンソース(GPLv2の)ですが、私はそれを書き込み、会社のために働く。)

    それは非常によく文書化されていないが、これは、あなたが行くのに役立つはずです。

    これはインターフェイスのような優れた機能を直接提供するわけではありませんが、少しの作業ですぐに多くの統計情報を取得できます。

    7

    reCSVeditorは大きなCSVファイルを編集するのに最適なプログラムです。不要な列を取り除くのに理想的です。私は1,000,000個のファイルを非常に簡単にファイルに使用しました。

    +0

    +1 reCSVeditorは私のために働いてくれました。2GBファイルが200万行以上ありました。 –

    +0

    私はジップをダウンロードしましたが、使用方法はわかりません。 – aasthetic

    +0

    @ richi_18007 Recsveditorは内容を解凍してからインストーラを実行します –

    関連する問題