导入csv模块文件未打开



我正在尝试使用csv模块打开一个csv文件,然后尝试使用此代码从中读取一些数据。

import csv

def file_open():
input_file=str(input('enter the input file to use'))
while True:
try:
with open(input_file,'r') as grades:
grades_reader=csv.reader(grades, delimiter=',')
break
except FileNotFoundError:
print('FileNotFoundError')
input_file=str(input('enter the input file to use'))
row_num=1
for row in grades_reader:
print('row',row_num,row)
row_num+=1


file_open()

文件打开似乎一直在工作,直到它到达必须读取数据的部分,然后它给我一个i/o错误,说文件已关闭。我对python还很陌生,如果能了解我做错了什么,我将不胜感激。input_file也允许用户选择任何文件,但如果这些信息有助于,我只会用它来调用一个名为Grades.sv的文件

EDIT:回溯错误消息。

Traceback (most recent call last):
File "C:UsersmustaOneDriveDocumentscomputer assignment programsprogram 4Program4.py", line 24, in <module>
file_open()
File "C:UsersmustaOneDriveDocumentscomputer assignment programsprogram 4Program4.py", line 18, in file_open
for row in grades_reader:
ValueError: I/O operation on closed file.

由于break结束循环和with主体,因此关闭文件

您应该将该文件的读取代码保留在with缩进中。

csv.reader不会将文件加载到内存列表中

最新更新