保険数理の仕事では数値データを扱うことが不可欠で、通常はExcelなどで処理することが多いのですが、 データベースからダウンロードしたり、EXCELのシートを外部プログラムで加工したりする場合にはCSV形式がよく使われます。

Excelは便利なソフトですが古いバージョンでは扱えるレコード数が6万5000件くらいが上限で、 最新バージョンでも100万件くらいが上限となっています。
これを超えるデータを扱う場合は自分でプログラムを組むことになりますが、この場合データベースからダウンロードするデータは たいていCSV(Comma Separated Value)という形式になっています。
CSVはプログラム間でデータのやりとりを行う場合に一般的によく使われるほかサイズが小さければExcelでも直接扱うことができます。

CSVというのはテキストを単にコンマ(,)で区切っただけの単純なファイルですが、 日常よく使うので、CSVファイルから直接データをセレクトしたり、ソートをかけたりする汎用ユーティリティをC++Builderで作りました。
Excelでは扱えない大きなファイルもこれらのユーティリティーを使って必要データをセレクトしたり、 コンパクションしてファイルを小さくすればExcelで扱えるようになります。

これらのプログラムはWindowsが動くパソコン(UNIXやMACはダメです)なら特別なインストールなしに動きますし、入力ファイルの大きさに制限はありません。
(ただしWindowsにはバージョンによりファイルサイズの制限がありますので、その制限は受けます。)
アンダーラインのついたプログラム名をクリック すると自分の端末にダウンロードできます。

以下のプログラム群は当初はそのままダウンロードして実行できるようにしていたのですが、 最近はほとんどのブラウザにウイルスチェック機能があり、 一部のブラウザではサフィックス(ファイル名の"."の後ろの3文字)が"exe"になっているものは ウイルスとみなしてダウンロードできないようになっています。
このため以下のプログラム群は圧縮ファイル(zip)としてあります。
ダウンロードしたら解凍して実行してください。
最近ではzipで圧縮してあってもWindowsやSmartScreenからは「危ない」というメッセージが出ますが、
詳細などのボタンでそのまま継続すればダウンロードできます。
(どうしてもこのHPが心配なら、損害保険会社のベテランアクチュアリーに聞けば何かわかるかも)

プログラムが開始するとウインドウが表示されるので窓に書き込んだり、ボタンをクリックしたりして計算に必要な 情報を入力します。
まず、INPUT-FILEをクリックして入力ファイルを指定し、次にOUTPUT-FILEをクリックして出力ファイルを指定します。
それからKeyの位置や値を入力しますが、これはプログラムにより異なります。
EXCUTEというボタンをクリックすると計算が実行され、EXITでプログラムを終了します。
自分で普段使っているプログラムですが、もしBUG等が出た場合はメールいただけると幸いです。(tacuslay@pi5.fiberbit.net)
もちろんテストは十分してあるのですが実行結果の正確性に関して責任は持てませんので、自己責任で実行してください。


レコードを指定したキーの順番に並べなおすプログラムです。
キーとなる項目の性質(Attribute)は文字か数字を指定し、並べ方(Order)は昇順か降順を指定できます。
キーは最大10個まで指定できます。
Key#にkeyの順番を入れます。最初のKey(一番上位のキー)は1番です。
Key PositionではKeyとなる項目の順番を指定します。
Attributeではキーが文字か数字かを選択し、Orderでは昇順か降順かの並べ方を指定します。
csvsort.zip


指定したキーのレコードを抽出して出力するプログラムです。
「Keyの位置」でキーとなる項目の位置(一番最初の項目なら1)を指定し、「Keyの値」で値を指定します。
キーとなる項目の性質(Attribute)は文字か数字を指定し、抽出の方法はキーと等しいか、 あるいは大小関係を満たしたときにアウトプットファイルに出力されます。
csvsel.zip


ファイルが正しくソートされているかどうかをチェックするプログラムです。
キーの指定はソートプラグラムと同一です。
csvsortchk.zip


ソートされたファイルに対して、同一キーのレコードを足しこむプログラムです。
個別レコードの件数が大きいときに集約レコードを作るために使います。
「Key項目の位置」にキーとなる項目の位置をスペースで区切って入力します。
同様に「集計項目の位置」には集計を行う項目の位置をスペースで区切って入力します。
compact.zip


ソートとコンパクションを同時に行うプログラムです。
使用法は上記ソートおよびコンパクションプログラムと同様です。
ソート終了後の中間ファイル(SRTCMPCT.WK)を出力しますが、このファイルは正常終了すると削除されます。
srtcmpct.zip


レコード上の指定された項目を集計するプログラムです。
csvsum.zip


ファイル先頭から目的レコード群までと、目的レコード群の後ろのレコードをすべて削除するプログラムです。
TAILを0と指定すると後ろのレコードは削除されません。
csvcut.zip


既存のファイルの任意の項目を選択して並べ替え、新しいCSVファイルを作るプログラムです。
csvedit.zip


KEYWORDによるファイル検索を行うプログラムのバージョンアップです。
配布DVDのKEYWORD.exeと入れ替えて使ってください。
ファイルの指定がファイルパスの記入からDialogに変更したので簡単になりました。
KEYWORD.zip


個人情報管理プログラム(NAMECARD.exe)のバージョンアップです。
他の電話番号簿や住所録プログラム、EXCEL等から作成したCSVファイルを読み込めるようになりました。
配布DVDのNAMECARD.exeと入れ替えて使ってください。
NAMECARD.zip