import csv

email = 'someone@somemail.com'
password = 'password123'
with open('test.csv', 'a', newline='') as accts:
    b = csv.writer(accts, delimiter=',')
    b.writerow(email)
    b.writerow(password)

Я пытаюсь добавить в файл csv формат email: пароль в той же строке, но каждый раз, когда я запускаю программу, она создает новую строку для каждой буквы, а пароль записывается под электронным письмом. Что я делаю не так?

Выход:

s,o,m,e,o,n,e,@,s,o,m,e,m,a,i,l,.,c,o,m
p,a,s,s,w,o,r,d,1,2,3

Пожеланная выходная мощность:

someone@somemail.com,password123
1
user14747638 9 Дек 2020 в 04:40

1 ответ

Лучший ответ

Строка выглядит как список отдельных символов, а writerow ожидает список значений столбца, так что в итоге вы получите столбцы с отдельными символами.

Вместо этого используйте список значений столбца:

b.writerow([email,password])
1
Mark Tolonen 9 Дек 2020 в 01:43