在 csv 文件的同一行上写入 2 个变量
Writing 2 variables on the same row in a csv file
我正在创建一个注册系统,它(在注册时)将用户名和密码写入一个 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 文件时造成了麻烦(发布了一个关于这个的问题。参见 link 下面)
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
我相信
writer.writerow([user_namev2, user_passwordv2])
应该可以解决问题。 (https://realpython.com/python-csv/)
我会像这样使用 pandas
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')
这可能不完全正确(我自己还没有测试过)但是你知道如何进行
正如 Jackson Hill 提到的,您应该使用 list 作为 writerow。
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])
“你也知道为什么我的程序会跳过电子表格中的一行吗?出于某种原因,它会每隔一行写入信息”
我遇到了同样的问题,你需要使用lineterminator = '\n'
,例如
正在创建一个 csv 写入器对象
csvwriter = csv.writer(csvfile, lineterminator = '\n').
我正在创建一个注册系统,它(在注册时)将用户名和密码写入一个 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 文件时造成了麻烦(发布了一个关于这个的问题。参见 link 下面)
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
我相信
writer.writerow([user_namev2, user_passwordv2])
应该可以解决问题。 (https://realpython.com/python-csv/)
我会像这样使用 pandas
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')
这可能不完全正确(我自己还没有测试过)但是你知道如何进行
正如 Jackson Hill 提到的,您应该使用 list 作为 writerow。
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])
“你也知道为什么我的程序会跳过电子表格中的一行吗?出于某种原因,它会每隔一行写入信息”
我遇到了同样的问题,你需要使用lineterminator = '\n'
,例如
正在创建一个 csv 写入器对象
csvwriter = csv.writer(csvfile, lineterminator = '\n').