10万行ちかくあるCSVファイルがあります。

それをマイクロソフトエクセルのピボットデーブルのような機能をつかってクロス集計などを実施したいと思っています。
エクセルですと、当然のようにファイル全体を読み込むことができませんので、代わりのソフトをさがしています。

マイクロソフトアクセス以外で教えていただきたいと思います。
よろしくお願いいたします。

回答の条件
  • 1人2回まで
  • 登録:2006/04/13 14:05:03
  • 終了:2006/04/20 14:10:02

回答(5件)

id:snufkin No.1

スナフキン回答回数48ベストアンサー獲得回数12006/04/13 14:20:40

ポイント20pt

かなりの量ですね。

Excelに拘らず、MySQL等のDBで読み込んで処理させてCSVで出力しては如何でしょうか。

<http://www.amazon.co.jp/exec/obidos/ASIN/4861670616/250-1840505-6378665>

id:M_cooper

そこまでのスキルはないんですよねー

2006/04/13 14:27:35
id:Baku7770 No.2

Baku7770回答回数2832ベストアンサー獲得回数1812006/04/13 15:07:08

ポイント20pt

MRDB Forum


 MRDBはどうでしょう。

 テキスト類などはダウンロードして下さい。

 表を二つ(CSV詠み込み用、集計結果格納用)の定義と処理をいくつか作るのに慣れれば1日掛かりません。

クロス集計

の例であれば、

外部入力(CSV詠み込み)

表への出力(集計結果格納用表に担当者一覧を作成します)

一括更新(集計)

で、クロス集計ができますので、印刷か表示用の処理を作ればいいだけです。

 関数も日本語化(合計、平均等)されていますので、覚えやすいですよ。

id:wireself No.3

wireself回答回数72ベストアンサー獲得回数42006/04/13 15:08:04

ポイント20pt

DataNatureはいかがでしょう。

http://www.njk.co.jp/product_service/sw_package/datanature-s...

http://www.njk.co.jp/product_service/sw_package/datanature-s...

10万行のCSVファイルが扱えるかどうかが問題ですが、トライアル版もありますので試してみては。

http://www.njk.co.jp/product_service/sw_package/nature_serie...

id:fonico No.4

フォニコ回答回数45ベストアンサー獲得回数02006/04/13 22:21:58

ポイント20pt

http://www.sourcenext.com/products/auto/:ずばり自動化]

ビーコンIT社の簡易版がこれです。

10万件というのが枠に収まるか少し疑問ですが自動的に集計出来ちゃうのが簡単で丸です。

お試しください。

id:n_koji72 No.5

n_koji72回答回数53ベストアンサー獲得回数12006/04/14 06:25:44

ポイント20pt

大きなテキストデータの処理なら,awkやperlを検討してはいかがでしょうか?

クロス"集計"だけなら2~3行のawkコードで実現できます。入力ファイルに対し1行ずつ処理を行うので,ファイルが開けない事態はあまり起きません。

awkはコマンドプロンプトから実行します。

http://www.kt.rim.or.jp/%7Ekbk/gawk-3.1/

からgawkをダウンロード・インストールしてください

http://homepage1.nifty.com/tabotabo/aprc/apr10.htm

の例に習ってデータが

1列目 担当者

2列目 商品

3列目 金額

となっている場合,プロンプト上で

> gawk 'BEGIN{FS = ","} {SUM[$1"_"$2] += $3} END {for (item in sum) { print item","SUM[item]}}' 入力ファイル.csv > 出力ファイル.csv

と入力すると,出力ファイル.csvに

担当者A_商品1,合計金額

担当者B_商品3,合計金額

     :

とクロス集計の結果を縦に並べた結果が得られます。

ただし,項目組み合わせの順番はバラバラです。

単純に頻度が必要ならsumの計算のところの

$3を1にしてください。

クロス集計"表”が必要ならawkでコードを書くことも出来ますが,出力ファイル.csvは小さくなるはずなので,エクセルで開いてソートや表の作成を行えば良いと思います。

http://work.tkensaku.com/text.html

http://www.wakhok.ac.jp/~maruyama/Unix92/awk/chapter2.1.html

http://infoshako.sk.tsukuba.ac.jp/jdoc/GNU/AWK/jgawk-jman/ht...

awkの使い方はこの辺を参考にしてください。

コメントはまだありません

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

トラックバック

  • awkを使ったファイルの処理方法 awk では、通常は半角空白スペースが区切り文字になっている。 そのため、csvファイルのようにカンマ区切りのファイルを扱うときは、以下のようにFSを使っ
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません