Я пытаюсь записать в файл CSV, используя Python.Проблема в том, что, похоже, он пишет в какой-то скрытый объект в памяти и никогда не выводит в файл.
Вот код, который я пытался использовать (найдено здесь ):
import csv
with open('employee_file.csv', mode='w') as employee_file:
employee_writer = csv.writer(employee_file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
employee_writer.writerow(['John Smith', 'Accounting', 'November'])
employee_writer.writerow(['Erica Meyers', 'IT', 'March'])
Когда я делаю это, ни один файл фактически не выводится (как показано в моем каталоге Windows), но я также не сталкиваюсь с ошибками.Затем, если я попытаюсь что-то вроде следующего:
with open('employee_file.csv') as csv_file:
csv_reader = csv.reader(csv_file, delimiter=',')
for row in csv_reader:
print(row)
На самом деле выводит то, что я написал ранее (John Smith
, Accounting
и т. Д.).Похоже, что он записывается в какой-то скрытый файл в памяти.Я нашел этот поток , в котором предлагалось использовать flush()
и close()
для фактической записи на диск, но ни один из них ничего не делал.
Редактировать: Также проверено os.getcwd()
и я нахожусь в правильном каталоге.
Редактировать 2: Также проверил employee_file.closed
, и он возвращает False
в разделе with open
и True
после, что кажетсяработать как надо.
Редактировать 3: Еще одна вещь, которую я попробовал, print(os.path.isfile([absolute path]))
напечатано True
.Похоже, что по какой-то причине этот файл на 100% находится в глазах Python.
Edit 4: Когда я пишу точно такой же код в консоли Python, он отлично работаети выводит файл.К сожалению, у меня слишком много изменений, которые мне нужно сделать, но я не могу этого сделать.