我应该根据off条件向我的CSV
文件添加一个特定的标签。CSV
文件有10列,第三列、第四列和第五列是对条件影响最大的列,我在第十列中添加了我的标签。我这里有一个无限循环的代码:
import csv
import sys
w = open(sys.argv[1], 'w')
r = open(sys.argv[1], 'r')
reader = csv.reader(r)
writer = csv.writer(w)
for row in reader:
if row[2] or row[3] or row[4] == '0':
row[9] == 'Label'
writer.writerow(row)
w.close()
r.close()
我不知道为什么它会以无限循环结束。在
编辑:我犯了一个错误,我原来的无限循环程序有这样一行:
^{pr2}$我将'a'
改为'w'
,但这最终抹去了整个{
我想问题出在线路上
您正在打开同一个文件进行读取写作。所以尝试使用不同的文件名。在
在} 检查几个等于相同值的变量,并使用} 。在
if row[2] or row[3] or row[4] == '0':
和这里row[9] == 'Label'
有问题,可以使用^{=
来赋值,我也建议使用^{另外,您不能在} 和^{} 重命名新文件:
csv
文件中同时读写,所以您需要将更改保存到一个新的csv文件中,您可以在之后删除原来的csv文件,然后使用^{您可以写入一个tempfile.NamedTemporaryFile,只需使用
in
来测试"0"
,因为您匹配的是一个完整的字符串,而不是子字符串,因此在创建三个元素的元组时,您不会通过使用any保存任何内容,这样您就可以切片或只测试成员资格,然后将原始文件替换为shutil.move:sys.argv[1]
也是您的文件名和一个字符串,因此您只需要传递这些。在相关问题 更多 >
编程相关推荐