« 菜の花の季節 | トップページ | HP200LXで家計簿 「AWKとPerlでスクリプト」その2 »

2011年4月23日 (土)

HP200LXで家計簿 「AWKとPerlでスクリプト」

2011-04-23(土)雨

 先日からUNIXの本を読み始めて、AWKとPerlの章で足踏みをしていました。というか、勉強のためにスクリプト作成を行っていたわけです。実用になる例題がないと力が入りませんから、HP200LXでの家計簿管理のためのスクリプトを作成することにしました。
 (AWKとPerlでの習作のモジュールは一番下に貼り付けました。)

HP200LXでの家計簿管理は、以下のような流れです。
  この辺の記事は、WEB 「HP200LXと家計簿」 に書きました。

(1)HP200LX Pocket Quicken ですべての口座(銀行預金、クレジットカード、
   サイフ、買い物カード(Edy、pasmoみたいにチャージするもの)などを記入します。
(2)エクスポート機能で、口座単位にトランザクションをエクスポートします。
(3)すべてのエクスポート出力をマージします。
(4)出力をスクリプト処理して、EXCELの入力用CSVファイルにします。
  ( SED使用、QDFNEW.SED)

ここから二つに分かれます。
------- PC使用ルート ----------------------------
(5)上記(4)の出力をEXCELに読み込ませ、更にそれをACCESSに貼り付けます。
  (ACCESSクエリー 家計簿集計MDBを使用する。)
(6)ACCESSのクエリー出力(月別、カテゴリ別に集計した表)を、再度EXCELに
  貼り付けて、色々加工して管理に使用します。

-------- HP200LX LOTUS 1-2-3 ----------------
(7)上記(4)の出力をスクリプト処理して、1-2-3用のCSVファイルにします。
(8)1-2-3に読み込ませます。
(9)年月日でソート、各月の行番号を確認して、月ごとの集計式を入力します。
  この内容で、月ごとの収入、支出数値を確認します。
-------------------------------------------------------------------

 PCルートはPCが必要ですし、1-2-3ルートはHP200LXだけでできるのですが、意外と(9)が面倒です。

 そこで、AWKやPerlのスクリプトでは計算できることを使用して、月別に集計して表を作るスクリプトを作ってみました。

■スクリプトは、(4)の出力を読んで、月別の収入、支出、年間合計を表にする。
という内容にしました。

 下の画像の様なフォーマットのデータが入力です。

Scrn0006

 結果として、下の画像の出力を得ることができました。何とか成功です。(図ではスクリーンショットを1枚にする関係で、7~10月の行を削除しています。)

Scrn0005

 SEDスクリプトや高級言語でのプログラム経験があるので、AWKやPerlも理解しやすかったです。文脈アドレスとか正規表現とかが分かると作りやすいですね。SEDはテキスト処理としては簡単でよいのですが、集計ができません。こういう処理はAWKやPerlの出番です。

 次は、いくつかの気になるカテゴリの月別集計も入れようかとか、数字を3桁区切りにして表示しよう、、とか考えています。

----------  モジュール -----------------------------------
  「QMONTHAW.LZH」  AWKのスクリプト

  「QMONTHPL.LZH」  Perlのスクリプト
--------------------------------------------------------

 

|

« 菜の花の季節 | トップページ | HP200LXで家計簿 「AWKとPerlでスクリプト」その2 »

PDA」カテゴリの記事

アプリケーション」カテゴリの記事

プログラミング」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/513620/51470479

この記事へのトラックバック一覧です: HP200LXで家計簿 「AWKとPerlでスクリプト」:

« 菜の花の季節 | トップページ | HP200LXで家計簿 「AWKとPerlでスクリプト」その2 »