2009年2月17日火曜日

python-csv

#!/usr/bin/python

import sys
import os

csvfilemap = {}

def collect(csvfile, csvname, linerc):
src = {}
errno = {}
if csvfile.has_key(csvname):
src = csvfile.get(csvname)
if src.has_key(linerc[0]):
errno = src.get(linerc[0])
if errno.has_key(linerc[1]):
num = errno.get(linerc[1])
errno.update({linerc[1]:num+1})
else:
errno.update({linerc[1]:1})
else:
src.update({linerc[0]:errno})
errno.update({linerc[1]:1})
else:
csvfile.update({csvname:src})
src.update({linerc[0]:errno})
errno.update({linerc[1]:1})

def readline(infilename):
i = 0;
linerc = ['',0]

for line in open(infilename, 'r'):
if i > 1:
line = line.rstrip()
tokitem = line.split(',')
linerc[0] = tokitem[0].split('/')[-1]
linerc[1] = tokitem[4]
collect(csvfilemap, infilename, linerc)
else:
i = i+1
print "end readline of",infilename

paramlen = len(sys.argv)
if paramlen == 1:
print "Please input the file name to Analyse"
sys.exit()
else:
print "Analyse the",sys.argv[1:]

for filename in sys.argv[1:]:
if os.path.isfile(filename):
print "read file",filename
readline(filename)

else:
print "not file",filename

for csvk, csvfile in csvfilemap.items():
print "csv file is :",csvk
for srck, src in csvfile.items():
print "source file is:",srck
for errk, err in sorted(src.items()):
print "error is :",errk, " Count is :",err

print "bye"


File Severity Grp Nbr Des
cription レビュー日 担当者 対策予定 対策日
cmd_common.c ++ WARNING ++ <=6= 272 [I] 整数式の値は、符号付きの結果の型
で表現できないことがあります。 参照 - ISO-6.2.1.2 (符号付き整数への)変換
cmd/cmd_common.c ++ WARNING ++ <=6= 274 [I] 整数定数式の結果は符号付きで
は表現できません。 参照 - ISO-6.2.1.2 (符号付き整数への)変換

0 件のコメント: