csv
moduleを使用して、データを CSV データのように (パイプで区切られていても) 扱います。
import csv
with open('inputfile', 'rb') as inputfile:
reader = csv.reader(inputfile, delimiter='|')
for row in reader:
if len(row) > 5 and row[5].lower().startswith('command'):
print row[1], row[5]
はcsv.reader()
、各行のリストを生成する反復子を提供します。サンプル行は次のようになります。
['1376328501.285', '1166703600', '0', 'SimControl', '4', 'Command 72FB0007: AC28200 - "Thrst History Reset" to DCDR 0 time=62']
インデックスは 0 から始まるため、Command
テキストの列はrow[5]
; 2 番目の列番号は ですrow[1]
。上記のコードは、現在の行に十分な列があるかどうかをテストし、row[5]
小文字の場合は単語で始まるかどうかをテストしますcommand
。
上記は Python 2 を想定しています。Python 3 の場合は微妙に異なります。
import csv
with open('inputfile', newline='') as inputfile:
reader = csv.reader(inputfile, delimiter='|')
for row in reader:
if len(row) > 5 and row[5].lower().startswith('command'):
print(row[1], row[5])