Я столкнулся с проблемой «операции ввода-вывода при закрытом файле», когда для циклизации каждой строки в csv_reader.python csv library Операция ввода-вывода в закрытом файле
Это мой код:
logFile = request.FILES['logs']
array = []
with logFile as csv_file:
field_names = ['hi', 'hi', 'hello', 'hello' ]
delimiter = ','
quote_character = '"'
csv_reader = csv.DictReader(csv_file, fieldnames=field_names , delimiter = delimiter, quotechar = quote_character)
count = 0
for rows in csv_reader:
if count == 0:
print count
else:
print count
array.append(rows)
count += 1
return array
LOGFILE фактический файл CSV, который был загружен пользователем, а не путь.
Traceback:
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
111. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/vcap/app/BillingWebApp/views.py" in IndexView
128. csv_list_dict = csv_getting_list_dict.Csv_Parser(logFile)
File "/home/vcap/app/BillingWebApp/csv_getting_list_dict.py" in Csv_Parser
5. with logFile.open() as csv_file:
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/files/uploadedfile.py" in open
97. self.file.seek(0)
Exception Type: ValueError at/
Exception Value: I/O operation on closed file.
Ошибка возникает в моем коде по адресу:
for rows in csv_reader:
и в отладчике он получает это:
row = self.reader.next()
Вы должны изменить свой [предыдущий вопрос] (http://stackoverflow.com/questions/27719691/csv-library-error-io-operation-on-closed- файл). – fredtantini
это не позволило бы мне – will
, и это была только гостевая учетная запись, и мне нужен был реальный счет – will