Prev / Next

2006-10-25 / cl2moneycsv-kamoku.rb[ひとりごと]

#!/usr/bin/env ruby
$KCODE="EUC"
#$/ = "\n"
#$, = ","
#

if ARGV[0] == nil
  STDERR.puts "引数が足りません"
  STDERR.puts "例:./rubyprog/cl2moneycsv-kamoku.rb ~/trunk/ChangeLog"
  exit 0
end

# 費目 an item of expendidure
#my @lioe = ('外', '食', '交', '遊', '本', '音', '雑', '衣', '他')
lioe = ["外","食","交","遊","本","音","雑","衣","他"]
#lioe = %w(外 食 交 )

inside_flag = 0
kamo = []
k = 0

entry = {}
p lioe


#while line = ARGF.gets
while line = gets
#  print line
    if /^((\d{4}-\d\d)-\d\d)/ =~ line then  # 日付をキープ
#     if /^((\d{4}-\d\d)-\d\d)/ and /^((2005-\d\d)-\d\d)/ =~ line then  # 日付をキープ
    date = $1		# = year-month-day
#	    $date =~ s|-|.|g	# for Excel
#            p date
    elsif /買#物ログ.*:/ =~ line then	# 家計簿データ記述ブロックの始まり
inside_flag = 1
tag = $&
    elsif inside_flag == 1 then   # ブロック内
if /^\s*$/ =~ line and inside_flag == 1 then  # ブロックの終わり
    inside_flag = 0
else
  /^\t(.+?)(\s|\xa1\xa1).*(\s|\xa1\xa1)(\d+)$/ =~ line
yo = line.split(nil)
#	  kamoku = $1
#	  naiyou = $2
#	  kingaku = $3
  kamoku = yo[0]
  naiyou = yo[1]
  kingaku = yo[2]
  sonota = yo[3]

          kamo.push(yo[0])
          kamo.uniq!
          p kamo

#	  p date,tag,line.chomp.split(nil)
#	  if /2005-\d\d-\d\d/ =~ date then 
#	    print date,",",tag,",",kamoku,",",naiyou,",",kingaku,"\n"
#	  end
       end
    end
end
<<