m2csv 固定長形式→CSV形式変換プログラム
1999.6.1 永井 元久

[機能説明]

 メインフレームで作成したような固定長形式のファイルから,レコード内の必要な項目を切り出してCSV形式のテキストファイルを作成します。
 作成するテキストファイルの終端を表す制御コードは,CR,LF/CR/LFの3種類から選択できます。

[使用法]

 このプログラムは,WindowsのDOS窓で,次のようにコマンドラインを入力することによって動きます。

  c:\Windows> m2csv -ic:\work\banana -oa:\ukiki.csv -psiji.txt

 m2csv はこのプログラムの名前です。
 -i に続いて入力ファイル名を指定します。(上記の例はフルパスを指定していますが,必要なければファイル名だけでもかまいません。これは以下の2つの引数についても同様です。)
 -o に続いて出力ファイル名を指定します。
 -p に続いて変換指示データ(この後に説明があります。)を記述したテキストファイルの名前を指定します。

 つまりこの例においては,m2csv はcドライブのworkディレクトリィにあるbananaを入力し,cドライブのWindowsディレクトリィにあるsiji.txtに記述された内容に従いレコード内の項目を切り出して,aドライブにukiki.csvの名前でファイルを作成します。

 変換が終わると,入力レコード件数と出力レコード件数が表示されます。

[変換指示データの記述方法]

 1行目に,入力レコードの長さをバイト数で書きます。この値は1から5000までの範囲内にある必要があります。5000バイトを超えるレコード長のファイルは処理できません。また,レコードに終端を示す制御コードがある場合は制御コードのバイト数を加えた値を書きます。(この制御コードは出力レコードには入りません。)
 2行目に,出力レコードの終端に附加する制御コードの種類を書きます。"CR,LF","CR","LF"の3種類のうち一つを選択してください。
 3行目に,切り出したデータの前後に " を付けたくない場合のみ,quotation-marks=NOと書きます。(このプログラムは原則として " を付けますから,quotation-marks=YESという指示はありません。)
 4行目( " に関する指示がない場合は3行目)以降から最終行まで,切り出し開始位置,切り出し終了位置,コード体系を表す記号(切り出す項目が日本語項目である場合のみ)を書きます。
 日本語項目でない場合はコード体系を表す記号は不要です。
 指示データの件数が500件を超えると,501件目以降は無視されます。
 コード体系を表す記号は,次表のとおりです。

コード体系記号
シフトJISコードの体系
JIS漢字コードの体系
EUCの体系
sjis
jisk
euc

 記述例を示すと,次のようになります。

length=352
code=CR,LF
quotation-marks=NO
2,5
6,13
25,26
27,46,sjis
47,64
68,97,sjis

 この例では,入力ファイルの長さは352バイトです。
 出力レコードの終端に附加する制御コードは,CR,LFです。
 切り出したデータの前後に " を付けません。
 2バイト目から5バイト目までを切り出します。
 6バイト目から13バイト目までを切り出します。
 25バイト目から26バイト目までを切り出します。
 27バイト目から46バイト目までを切り出します。この項目はシフトJISコードです。
 47バイト目から64バイト目までを切り出します。
 68バイト目から97バイト目までを切り出します。この項目はシフトJISコードです。

[動作環境]

 Windows95/NT4.0で動作確認しました。MS-Windowsなら何でも動くカモ。

[インストールの方法]

 ダウンロードしたmcsvc101.lzhを解凍してください。
 m2csv.exe,siji.txt,readme.htm,m2csv.cが出てきます。
 m2csv.exeはプログラム,siji.txtは変換指示データファイルの見本,readme.htmは使用方法の説明です。適当なフォルダに入れてお使いください。
 m2csv.cはC言語で書かれたソースコードです。日本語はシフトJIS,改行コードはCR,LFになっています。Windows以外のOSで使われる方は,お手持ちのコンパイラでコンパイルしてください。コンパイル時に警告などが出て気になる場合は,その部分を適当に直していただいて結構です。

[アンインストールの方法]

 m2csv.exe,siji.txt,readme.htm,m2csv.cを削除してください。

[その他の注意事項]

 このプログラムの使用によって損害が生じても、作者は一切責任を負いません。
 このプログラムはフリーソフトウェアです。コピー・配布・転載などは自由にしていただいて構いませんが、当ホームページからダウンロードした状態(圧縮した状態)のままでお願いします。

[サポート]

 不具合がありましたら、下記アドレスまでメールでご一報ください。
 E-mail: qb6m-ngi@asahi-net.or.jp

[履歴]
 ◆2バイトコードのフィールドを切り出す際,一部の文字が末尾にある場合に当該文字が消えてしまう不具合を修正しました。2003.7.17
 ◆指示データの件数の上限を500に変更しました。2001.4.23
 ◆切り出したデータを " で囲まないオプションを追加しました。2001.4.23

トップページに戻る