Excel で処理できない長大なデータを扱うのに便利なソフトウェアは?


やりたいこと
・10行に1行の割合でデータ抽出
・特定列の値を基準に行を並べ替える

できなくてよいこと
・グラフ作成
・表計算

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答6件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

ポイント20pt

エクセルで扱えるのは ひとつのシートで65536行までです。


それ以上だと アクセスとかになるでしょうが、アクセスでも数万件程度に してたほうがいいです。

それ以上は、SQL サーバーか、オラクルなどのデータベースとなります。

id:hkt_o

アクセスは高機能すぎまして……。勉強するのが面倒くさいです。今回のはてなの意図は、エクセルより高機能な表計算ソフトがほしいという話ではなくて、エクセルで処理するための前工程に適したソフトウェアがほしい、ということなのです。ソートした上位分だけエクセルに読み込むとか、10分の1、100分の1だけサンプリングしてエクセルに読み込むとか。

2005/04/11 08:04:09
id:youkan_ni_ocha No.2

回答回数379ベストアンサー獲得回数0

ポイント20pt

http://www.chimimo.com/sed/

RetroEngine: sed アーカイブ

DOSの頃の古いソフトです。処理が並べ替えとかテキストをいじるだけなので、こういうソフトが一番なんですが、マクロを組まないといけないので、その部分が大変でしょうね。自分でプログラム組むよりも楽、あと考えられるのは、強制的にファイルを分割して、エクセルで処理するというやり方だけど、並べ替えがあるから、ちよっと無理かな。

id:hkt_o

一時期、Perl の教科書と首っ引きでいろいろやっていた時期もあったのですが、ぜんぜん頭に入らなくて、使わなくなったとたんに全部忘れました。今また、あの不毛な勉強を繰り返す気になれないのです。

現状

Node 1,1.82560E+07

Node 2,5.38378E+06

Node 3,2.08631E+07

Node 4,5.50201E+06

Node 5,1.87050E+07

Node 6,5.74940E+06

Node 7,1.74420E+07

Node 8,5.87463E+06

Node 9,1.67947E+07

こんなデータが156万行あるのですが、ここでやりたいことは、単にカンマの後ろの数字の上位10個を選びたいだけだったりします。こういったデータ処理がたくさんあるんですよ、今日。今日、ってのがお笑いなんですが。正規表現も、何度使っても頭に入らないのであれなんですけれども、仕方ない、とりあえずsedでなんとかしますかね。常用しているSpeeeeedはエラーを起こすのですが、sedなら大丈夫なのかな。

2005/04/11 08:12:13
id:youkan_ni_ocha No.3

回答回数379ベストアンサー獲得回数0

ポイント20pt

http://www.vector.co.jp/soft/winnt/business/se356762.html

ズバリ自動化Waha! Transformer Personal(WindowsNT/2000/XP / ビジネス)

データベースソフトで簡単に使えそうなものという事で、こういうのは、どうでしょう。

http://www.vector.co.jp/soft/win95/business/se301161.html

CS Editor(Windows95/98/Me / ビジネス)

こんなのも

id:hkt_o

CS Editor がメモリ不足で落ちました。156万行あってもファイルサイズは高々40MB程度。2GBのメモリをつんでいるのに、なぜ落ちるのかな。ズバリ自動化も検討してみます。

2005/04/11 08:40:39
id:minipig No.4

回答回数10ベストアンサー獲得回数0

ポイント20pt

http://www.spss.co.jp/

統計解析・データマイニング SPSS

SPSSはどうですか?

大学では統計ソフトでよくはいってます。

id:hkt_o

オーバースペックでは?

2005/04/11 17:18:57
id:qa2 No.5

回答回数84ベストアンサー獲得回数1

ポイント20pt

http://k2top.jpn.org/index.php?K2Editor

K2Editor - K2 Software's Page

もう見ていないかな…


テキストエディタしか使えない私の解決策としては

リンク先のような正規表現の検索置換ができるテキストエディタで

検索語:(^.*¥n)^.*¥n^.*¥n^.*¥n^.*¥n^.*¥n^.*¥n^.*¥n^.*¥n^.*¥n

置換語:¥1,

とすると、10行が1行になります。

単純に間引くだけならこれでもできると思うのですが、問題はそのファイルが開くかどうかですね。

その後、軽くしたデータをExcelで開いては?

id:hkt_o

いやー、私も間引くだけなら Speeeeed でやっちゃうところなんですけれども、156万行というのが大きすぎるらしくて、エラー落ち。CSV エディターの類もファイル読み込みでアウト。

で、結局、今日は AWK の教本と首っ引きで非効率なスクリプトを書いて処理しました。というわけで目先の課題はもう解決しているのですが、何かいい回答がついていないかなー、と期待中。

2005/04/11 17:22:33
id:Baku7770 No.6

回答回数2832ベストアンサー獲得回数181

ポイント20pt

 MRDB Ver.6.0というソフトはいかがでしょうか?NEはOrcle同様のマルチユーザ版なので6.0でいいと思います。


1.ExcelのデータをCSVかSylk形式に変換する。

2.MRDBでレコードを定義する。(以後はMRDBでの操作です)

3.外部ファイル入力で1のデータを取り込む

4.連番を振る

5.条件で連番を10で割った余りが0のレコードを抽出又は表示、印刷

6.表一覧から表を選択し右クリック。ソートする。


以上の操作で2だけは項目数により変化しますが慣れた人なら数時間で全部できてしまいます。


 1ヶ月のサンプル版も入門テキストもダウンロード可能ですから試して見てください。


 本ソフトは佐倉市や富士宮市などでよく使われているソフトです。特に災害発生時の被災者支援には生産性が高い事でよく使われています。


 また、関数もExcel同様のSUMの他に「合計」という関数も用意されています。


 高度なことをやる場合にはC原語との連携も可能です。


 レコード数は1表あたり1200万件まで対応可能です。

 

id:hkt_o

オーベースペックではないかと。awk で簡単に(入門書に掲載されている初歩的なサンプルをつなぎ合わせるだけ……まあ、それがなかなか、苦手な人=私にはつらいのですが)できることをしたいと思っているに過ぎないので。

2005/04/12 07:35:53
  • id:cx20
    Access での変換例

    今回のようなデータ量でしたら、Access が手頃ではないかなと思います。
    (カンマ区切りのデータを取り込むだけでしたら、インポート機能で取り込める為、手軽ですし。)

    試しにテストデータ(150万行)を作って、Access に取り込んでみました。

    取り込みにかかった時間は、Pentium 4 2.4GHz(メモリ:512MB)の PC で約30秒。
    150万行 → 15万行 へ間引く SQL は、数秒で終わりました。

    ■ Access で大量データを変換・抽出する方法
    http://www.hondarer-soft.com/cx/pukiwiki/pukiwiki.php?Memo%2F2005-04-11
    (OS : Windows XP SP2, Access 2003)

    あとは、必要に応じて、並び替え等を行えば、必要なデータを取り出すことが
    可能ではと思います。

    参考程度まで。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません