擅长:python、mysql、java
<p>您过早退出。当您将<code>return a</code>放入<code>for</code>循环中时,在第一次迭代时会调用return。这意味着只有firs迭代运行。你知道吗</p>
<p>一个简单的方法是:</p>
<pre><code>def rowExtractor(logfile):
#output holds all of the rows
ouput = []
for row in logfile:
if row[32] == 'No':
a = []
a.append(row[44])
a.append(row[58])
a.append(row[83])
a.append(row[32])
output.append(a)
#notice that the return statement is outside of the for-loop
return output
outLog.writerows(rowExtractor(newlogfile))
</code></pre>
<p>您还可以考虑使用<code>yield</code></p>