csv
使用模块将数据视为 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]
; 第二列编号在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])