在CSV文件的同一行上写入2个变量

时间:2018-09-20 13:54:11

标签: python csv row col

我正在创建一个注册系统,该系统(注册时)会将用户名和密码写入CSV文件。 如何获得两个变量user _namev2和user _passwordv2彼此相邻写在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])

Searching for only the first value in an array in a csv file

4 个答案:

答案 0 :(得分:0)

我相信

writer.writerow([user_namev2, user_passwordv2])

应该可以解决问题。 (https://realpython.com/python-csv/

答案 1 :(得分:0)

我会使用像这样的大熊猫

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')

这可能并不完全正确(我自己还没有测试过),但是您知道如何进行操作

答案 2 :(得分:0)

正如杰克逊·希尔(Jackson Hill)所述,您应该使用list进行写行。

Object.defineProperty(window, 'customCommand', {
  get: function() {
    console.log("hey");
    return "hey";
  }
});

答案 3 :(得分:0)

“你知道为什么我的程序会跳过电子表格中的一行吗?出于某种原因,它每隔一行写一次信息”

我遇到了同样的问题,您需要使用 lineterminator = '\n',例如

创建一个 csv writer 对象

csvwriter = csv.writer(csvfile, lineterminator = '\n').