gpt4 book ai didi

python - CSV 写入文件困难

转载 作者:太空狗 更新时间:2023-10-29 20:16:42 25 4
gpt4 key购买 nike

我应该根据关闭条件向我的 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()

不知道为什么会死循环。

编辑:我犯了一个错误,我原来的无限循环程序有这一行:

w = open(sys.argv[1], 'a')

我将 'a' 更改为 'w' 但这最终会删除整个 CSV 文件本身。所以现在我有一个不同的问题。

最佳答案

这里有问题 if row[2] or row[3] or row[4] == '0': 和这里 row[9] == 'Label' ,你可以使用any检查多个变量等于相同的值,并使用 = 赋值,我也建议使用 with open .

另外你不能同时读写csv文件,所以你需要将你的更改保存到一个新的csv文件中,你可以删除原来的并重命名新的一个使用 os.removeos.rename :

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]))

关于python - CSV 写入文件困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35354039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com