Запись 2 переменных в одну строку в CSV-файл - PullRequest
0 голосов
/ 20 сентября 2018

Я создаю систему регистрации, которая (при регистрации) записывает имя пользователя и пароль в файл CSV.Как получить две переменные user _namev2 и user _passwordv2 для записи рядом с eachother в файле csv?

Это код, который я сейчас использую

if re.match(user_password2v2, user_passwordv2):
    print("Passwords do match")
    with open ('Accounts.csv', 'a') as Account_file:
        writer = csv.writer(Account_file)
        writer.writerow([user_namev2])
        writer.writerow([user_passwordv2])
        Bottom()

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

Я также экспериментировал с добавлением всего этого в массив и записьюмассив в файл CSV, однако это вызвало проблемы при чтении файла CSV (вопрос об этом был опубликован. См. ссылку ниже)

    if re.match(user_password2v2, user_passwordv2):
        print("Passwords do match")
        user_info = []
        user_info.append(user_namev2)
        user_info.append(user_passwordv2)
        with open ('Accounts.csv', 'a') as Account_file:
            writer = csv.writer(Account_file)
            writer.writerow([user_info])

Поиск только первого значения в массивев CSV-файле

Ответы [ 3 ]

0 голосов
/ 20 сентября 2018

Я бы сделал это с помощью панд, подобных этой

import os
import pandas as pd

if re.match(user_password2v2, user_passwordv2):
  print("Passwords do match")
  if os.path.isfile('Accounts.csv'):
    df = pd.read_csv('Accounts.csv')
  else:
    df = pd.DataFrame(columns=['username', 'password'])
  df = df.append({'username': user_namev2, 'password': user_passwordv2})
  df.to_csv('Accounts.csv')

Это может быть не совсем правильно (я сам не проверял), но у вас есть идея, как действовать

0 голосов
/ 20 сентября 2018

Как упоминал Джексон Хилл, вы должны использовать список для записи.

if user_passwordv2 == user_password2v2:
    print("Passwords do match")
    with open('Accounts.csv', 'a') as Account_file:
        writer = csv.writer(Account_file)
        writer.writerow([user_namev2, user_passwordv2])
0 голосов
/ 20 сентября 2018

Я считаю, что

writer.writerow([user_namev2, user_passwordv2])

должно сработать.(https://realpython.com/python-csv/)

...