Поскольку вы используете with open()
для открытия файла, как только функциональный блок запускается, файл закрывается и у вас нет к нему доступа.
Чтобы сохранить контекст файла, вы можете использовать 2 из следующих способов:
- Вы можете использовать его, генерируя объект генератора вместо возврата.
import csv
def get_data(file):
with open(file,'r',encoding="ISO-8859-1") as csv_file:
csv_reader = csv.DictReader(csv_file,delimiter=',')
for row in csv_reader:
yield row
for i in get_data('spam.csv'):
print(i)
Открыть файл вне функции
import csv
def main():
csv_file = open(file,'r',encoding="ISO-8859-1")
for i in get_data(csv_file):
print(i)
csv_file.close()
def get_data(file):
csv_reader = csv.DictReader(file,delimiter=',')
return csv_reader
main()