Добавление данных в проблемы csv файла

1
def append(new)
     user_file = open(r'users.csv', "a", newline = '')
     writer = csv.writer(user_file)
     writer.writerows(new)


#create a user list[... , ...]
append(user)

Я попытался добавить строки в CSV файл, и я могу иметь правильные данные в моем списке. Однако данные в моем CSV файле имеют что-то не так.

Мое исходное содержимое в файле CSV:

admin, abcd
user1, qwer

Я ожидаю, что мой CSV файл после запуска должен выглядеть так:

admin, abcd
user1, qwer
appenduser, appendpassword

Однако, после запуска моей программы, мой CSV файл добавляется так:

admin, abcd
user1, qwer

a,p,p,e,n,d,u,s,e,r
a,p,p,e,n,d,p,a,s,s,w,o,r,d

Что мне делать, чтобы решить мою проблему? Цену за помощь!

  • 0
    writerows перебирает аргумент, поэтому он перебирает всю строку, если это то, через что вы проходите, я предлагаю напечатать new внутри функции, чтобы увидеть, действительно ли вы передаете то, что намереваетесь передать (поскольку это неясно)
Теги:
csv
python-3.x

1 ответ

0

Использовать writerow

Пример:

def append(new):
     user_file = open(r'users.csv', "a", newline = '')
     writer = csv.writer(user_file)
     writer.writerow(new)    

#create a user list[... , ...]
append(user)
  • 0
    Ценим за вашу помощь, и это работает. А как насчет перевода строки после добавления новых данных? Как я могу избежать этого?
  • 0
    Он выдаст ошибку, если я использую ab вместо a (двоичный режим не принимает аргумент новой строки)
Показать ещё 3 комментария

Ещё вопросы

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