テキストのパース
以下のような形式で「機能名、日時、所要時間」が記録されたログファイルをパースして、機能毎に時系列で所要時間をCSV形式に出力するスクリプトです。リストとディクショナリ(Javaで言うところのMap)がコアなデータタイプとして組み込まれていて便利です。
入力ファイル:
func1 end at 2011.04.13 01:23 [12s] ===
func2 end at 2011.04.13 01:23 [34s] ===
func1 end at 2011.04.14 01:23 [50s] ===
出力:
,2011.04.12,2011.04.13
func1,12s,50s
func2,,34s
report.py:
cols = [""]
rows = []
data = {}
f = open("report1.txt","r")
for line in f:
s = line.split()
func = s[0]
date = s[3]
elapsed = line[line.index("[")+1:line.index("]")]
if not date in cols:
cols.append(date)
if not func in data:
rows.append(func)
data[func] = [func]
diff = len(cols) - len(data[func])
if diff > 0:
data[func].extend([""] * diff)
data[func][cols.index(date)] = elapsed
print ",".join(cols)
for f in rows:
print ",".join(data[f])
- EnglishWorm.com
- SinglesFan.com
- LmLab.net
- サイトマップ
- 運営者について