Python \ csv.writer удаляет предыдущие данные вместо добавления новых в файл

1

Я начинаю с python, так что вы можете думать, что я задаю глупый вопрос, но я действительно не понимаю, почему моя функция удаляет предыдущие данные в csvfile вместо добавления нового в этот файл. Вот как это выглядит:

def writein():
    with open('employee data.csv', 'w') as employeeData:
        writeby = csv.writer(employeeData, delimiter = ',')
        writeNEN = input('Add name of new emp: \n')
        writeNESN = input('Add surname of new emp: \n')
        writeNEP = input('Add position of new emp: \n')
        writeNEBD = input('Add date of birth of new emp: \n')
        writeby.writerow([writeNEN, writeNESN, writeNEP, writeNEBD])

Вы, ребята, знаете, как сделать программу добавлением новых данных вместо их замены?

Теги:
python-3.x

2 ответа

1

Когда вы открываете файл в режиме записи (т.е. open('file.txt', 'w')), содержимое очищается до того, как все будет добавлено. Исправить вашу проблему было бы открыть файл csv в append-mode:

def writein():
    with open('employee data.csv', 'a') as employeeData:
                             #      ^
                             # a for append
  • 0
    Спасибо, по странной причине здесь ничего не добавлено: docs.python.org/3.7/library/csv.html
  • 0
    Я думаю, вы найдете эту ссылку полезной.
0

Используйте приведенный ниже код with open('employee data.csv', 'a')

Параметр "a" указывает на добавление.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню