データ派あるいは指数派だとTARGETから出力されるCSVファイルを色々加工して、競馬予想に活かしたいというニーズがあると思います。
色々な方法はありますが、私の場合AWKというプログラミング言語を長年CSVファイルの処理に使っています。プログラミング言語というと敷居が高く感じるかもしれませんが、AWKはテキスト処理に特化した言語でCSVファイル処理が簡単にできます。また実行環境のインストールもファイルコピーのみでOKで、インストールなどは不要です。
AWKとTARGETから出力されるCSVファイル処理は相性がいいので紹介します。
■AWKの具体例
具体的には以下の様なコードを書くだけで
==========================
BEGIN{
FS=",";
OFS=",";
print "年月日","競馬場","R","馬番","馬名"
}
{
print $1,$2,$3,$4,$8
}
==========================
「CSVファイルの1行目にヘッダを追加し、特定列のみ出力する」
というような、CSVファイルを扱うのにありがちな処理が簡単に記述できます。
ちなみに上記のプログラムはTARGETの「出馬表分析CSV形式出力ファイル」
を以下の様なCSVファイルに加工する処理になります。
年月日,競馬場,R,馬番,馬名
140719,函館,1, 1,ルミノーソ
140719,函館,1, 2,アルボルデヴィダ
140719,函館,1, 3,イシドールス
140719,函館,1, 4,シシャモショウグン
140719,函館,1, 5,フィールドリアン
■上記プログラムの概略説明
AWKは基本的に
- インプットされたCSVファイルを1行ずつ読込
- 読み込んだ行に何らかの処理を実施
- 処理結果を出力
- 上記をCSVファイル最終行まで繰り返し
のように動作します。
プログラム内部についても簡単に記述すると
- BEGIN{}で囲まれた部分はCSVファイル読込までの事前処理を記述。
- FS、OFSはそれぞれ、入力、出力CSVファイルの列区切りを示す文字の指定
- printは文字列の出力
- {}で囲まれた部分は読み込んだCSVファイル1行にたいして行う処理
- print $1,$2,$3,$4,$8 はCSVファイルの1,2,3,4,8列目を出力
というような感じです。
■AWKのインストール方法
私はもう少し古いバージョンを使っているのですが、今からAWKを入手する場合
等からファイルをダウンロードすればいいでしょう。
ダウンロード後解凍し、任意のフォルダにコピーするだけでOKです。
以下
C:\AWK
というフォルダにファイル一式をコピーした前提で記述します。
■AWKプログラムの実行方法
上記のようなAWKプログラムを例えばC:\TG\DEN.AWK のようにテキストファイルで保存しておきます。
入力元のCSVファイルをC:\TGフォルダのDE.CSV、処理結果をDEN.TXTファイルに出力する場合、以下のようにコマンドプロンプトから実行すればOKです。
CD C:\TG
C:\AWK\GAWK -f DEN.AWK DE.CSV >DEN.TXT
■まとめ
上記の通りAWKはテキスト処理に特化しており、CSVファイル処理に向く言語です。無料で実行環境も簡単に作れますので、TARGETで出力されるCSVファイル処理を考えている人は試してみてください。
なお私はAWKは以下の書籍で勉強しましたが、現在は入手困難のようです。
【競馬プログラミングの最新記事】




