像对待CSV数据(尽管由竖线)中的数据,与所述csv
module:
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])
欢迎来到Stack Overflow!看起来你希望我们为你写一些代码。尽管许多用户愿意为遇险的编码人员编写代码,但他们通常只在海报已尝试自行解决问题时才提供帮助。证明这一努力的一个好方法是包含迄今为止编写的代码,示例输入(如果有的话),期望的输出和实际获得的输出(控制台输出,堆栈跟踪,编译器错误 - 无论是适用)。您提供的细节越多,您可能会收到的答案就越多。 –
我是新人。我尝试了一堆事情几天,很失落,我不知道该怎么做。无论如何感谢您的帮助。 – user2938428