Похоже, что в вашем коде отсутствует та часть, в которой вы пишете в файл csv. Я обычно люблю писать в CSV-файлы, используя DictWriter
в стандартной библиотеке csv
. Ниже приведен фрагмент кода о том, как это работает.
Протестируйте его и посмотрите, работает ли он для вашего кода.
from csv import DictWriter
from os import listdir
with open('file.csv', 'w') as write_file:
for fl in listdir():
dict_writer = DictWriter(write_file,
['file_name', 'test1', 'test2']
)
dict_values = {'file_name':fl, 'test1':'Hello2', 'test2':"Hello3"}
dict_writer.writerow(dict_values)
РЕДАКТИРОВАТЬ На основе приведенного ниже комментария я добавил for fl in listdir('path/to/file')
, в котором будут перечислены все файлы и каталоги в path/to/file
и поместите их в качестве первого столбца в CSV.
EDIT2 Таким образом, ниже просто скопируйте и вставьте свой код и добавьте то, что, я думаю, добавит имя файла. Это похоже на то, как вы используете output
, что вы можете просто добавьте filename
к output
сразу после добавления новой строки. Проверьте это и посмотрите, работает ли он для вас. Я хотел бы сказать, что это не самый лучший способ записи в CSV-файл в python. Самый простой способ - использовать пакет csv, как указано выше
import sys
import os
from pyresparser import ResumeParser
output = 'EMAIL,SKILLS,'
for filename in os.listdir('/Users/NSam/Documents/resume/directory'):
output += '\n'
output += filename + ','
d = ResumeParser('/Users/NSam/Documents/resume/directory/' + filename).get_extracted_data()
for key, value in d.items():
if str(key) == 'email':
output += str(value) + ','
if str(key) == 'skills':
for skillkey in value:
output += str(skillkey) + ','
sys.stdout.write(output)
with open('/Users/NSam/Documents/resume/directory/output.csv', 'w') as f:
print('', output, file=f)