擅长:python、mysql、java
<p>在<code>if row[2] or row[3] or row[4] == '0':</code>和这里<code>row[9] == 'Label'</code>有问题,可以使用<a href="https://docs.python.org/2/library/functions.html#any"><strong>^{<cd3>}</strong></a>检查几个等于相同值的变量,并使用<code>=</code>来赋值,我也建议使用<a href="https://docs.python.org/2/tutorial/inputoutput.html#methods-of-file-objects"><strong>^{<cd5>}</strong></a>。在</p>
<p>另外,您不能在<code>csv</code>文件中同时读写,所以您需要将更改保存到一个新的csv文件中,您可以在之后删除原来的csv文件,然后使用<a href="https://docs.python.org/2/library/os.html#os.remove"><strong>^{<cd7>}</strong></a>和<a href="https://docs.python.org/2/library/os.html#os.rename"><strong>^{<cd8>}</strong></a>重命名新文件:</p>
<pre><code>import csv
import sys
import os
with open('some_new_file.csv', 'w') as w, open(sys.argv[1], 'r') as r:
reader, writer = csv.reader(r), csv.writer(w)
for row in reader:
if any(x == '0' for x in (row[2], row[3], row[4])):
row[9] = 'Label'
writer.writerow(row)
os.remove('{}'.format(sys.argv[1]))
os.rename('some_new_file.csv', '{}'.format(sys.argv[1]))
</code></pre>