csv python上已关闭文件的I/O操作



我正在处理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) 

最新更新