【发布时间】:2014-09-21 06:44:31
【问题描述】:
我在让一些嵌套的“for 循环”按照我需要的方式工作时遇到了一些麻烦。我一直在寻找答案,这似乎经常发生,但由于我自己对 Python 还是很陌生,所以解释并没有太大帮助。我有一个单词列表和一个文件,我正在使用它,并且希望列表中的每个单词逐行遍历文件,如果该行包含该单词,则打印该行。目前,当我运行代码时,它只打印出包含列表中第一个单词的行,而不会继续处理列表中的其余单词。
您能否就我如何完成这项工作提供一些建议?
注意:我知道“效率”拼写错误,这是数据源的问题。
编辑:我需要对行进行分组,因此打印所有包含“速度”的行,然后打印所有包含“加速度”的行等。文件中的所有行都包含 SHEETS 中的单词之一。
SHEETS = [' Speed',' Acceleration',' Engine Power',' Instantaneous Fuel Effeciency',
' Average Fuel Effeciency',' Instantaneous MPG',' Average MPG',
' MAF air flow rate',' Accelerator pedal position E',
' Commanded throttle actuator']
with open('userdata.log','r',encoding = 'utf-8') as my_file:
for label in SHEETS:
for line in my_file:
if label in line:
print (line)
输出:
2014-09-20 14:08:41.165,速度,0,英里/小时
2014-09-20 14:08:43.742,速度,0,英里/小时
2014-09-20 14:08:47.872,速度,0,英里/小时
2014-09-20 14:08:49.490,速度,0,英里/小时
2014-09-20 14:08:51.007,速度,0,英里/小时
2014-09-20 14:08:52.456,速度,0,英里/小时
2014-09-20 14:08:53.888,速度,0,英里/小时
2014-09-20 14:08:55.499,速度,0,英里/小时
2014-09-20 14:08:57.288,速度,0,英里/小时
2014-09-20 14:08:57.838,速度,0,英里/小时
2014-09-20 14:08:58.355,速度,0,英里/小时
2014-09-20 14:08:58.572,速度,0,英里/小时
【问题讨论】:
标签: python loops for-loop iterator python-3.4