Невозможно записать информацию о новой учетной записи в файл csv

Работаю над созданием менеджера паролей для школьного проекта, и у меня возникают проблемы с добавлением информации о новой учетной записи в мой файл password_manager.csv. Информация извлекается из другого файла при вводе и успешно печатается, но когда я пытаюсь записать ее в файл csv, я получаю ошибки.

       import csv

 def createNewAccount(appName,userEmail,userName,userPassword):

    data = [appName,userEmail,userName,userPassword]

    print(data)
    
    with open('password_manager.csv','a') as csv_file:
        csv_writer = csv_file.write(csv_file, delimiter = '\t')
        csv_file.writerow(data)  

2 ответа

Я могу это проверить, потому что вы не сказали, какие именно ошибки вы получаете (что всегда следует делать, задавая здесь вопросы). Тем не менее, мне кажется, что вы не используете csv модуль правильно - см. csv.writer документация, содержащая пример кода.

Проблема, которую я вижу в вашем коде, исправлена ​​ниже:

      import csv


def createNewAccount(appName, userEmail, userName, userPassword):

    data = [appName, userEmail, userName, userPassword]
    print(data)

    with open('password_manager.csv', 'a', newline='') as csv_file:
        csv_writer = csv.writer(csv_file, delimiter='\t')
        csv_writer.writerow(data)


if __name__ == '__main__':
    createNewAccount('appName1', 'userEmail1', 'userName1', 'userPassword1')
    createNewAccount('appName2', 'userEmail2', 'userName2', 'userPassword2')

Попробуйте следующее:

      import csv 
from csv  import writer
    
     def createNewAccount(appName,userEmail,userName,userPassword):
    
        data = [appName,userEmail,userName,userPassword]
    
        print(data)
        
        with open('password_manager.csv','a') as csv_file:
            csv_writer = writer(csv_file, delimiter = '\t')
            csv_writer.writerow(data)  
Другие вопросы по тегам