我正在处理python3项目,在试图写入CSV文件时出错。
with open('infile.csv', 'r') as f:
reader = csv.reader(f)
# manipulate the data
with open('outfile.csv', 'w') as fl:
writer = csv.writer(fl)
for row in reader:
writer.writerow(row)
我遇到I/O operation on closed file on csv python
问题。我需要先创建outfile.csv
吗?我不确定?
因为您使用的是上下文管理器,所以当您离开它的作用域时,中缀就会关闭。
解决方案是
with open('infile.csv', 'r') as f:
reader = csv.reader(f)
# manipulate the data
with open('outfile.csv', 'w') as f:
writer = csv.writer(f)
for row in reader:
writer.writerow(row)
编辑这里是一种更简洁高效的方式
with open('infile.csv', 'r') as fin, open("outfile.csv" , "w") as fout:
reader = csv.reader(fin)
writer = csv.writer(fout)
for row in reader:
writer.writerow(row)