如何在单独的列中写入csv文件?

2024-09-30 20:16:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图写一个代码,要求用户的用户名和密码,然后存储到一个csv文件中的2个单独的列。我试过很多不同的方法,但似乎做不到:/

username = input ("What is your first name (or username)? ")
 username = (username[0:3])
 birthyear = input ("What year were you born? ")
 birthyear = (birthyear[2:4])
 print (("Your username is ") + (username) + (birthyear))
 login = (username) + (birthyear)
 newpassword = input ("Please create a password ")
 with open ("scores.csv", "a") as scoreFile:
     scoreFileWriter = csv.writer(scoreFile)
     scoreFileWriter.writerow(username + "," + newpassword+"\n")
     scoreFile.close()

这是我尝试过的一种方式,但它把每一封信都写在不同的专栏里,就像这样:

b o b,p a s w o r d公司

而不是这样:

鲍勃,密码

如果您能提供任何帮助,请提前感谢:)


Tags: 文件csv方法代码用户密码inputis
3条回答

工作代码:

username = input ("What is your first name (or username)? ")
 username = (username[0:3])
 birthyear = input ("What year were you born? ")
 birthyear = (birthyear[2:4])
 print (("Your username is ") + (username) + (birthyear))
 login = (username) + (birthyear)
 newpassword = input ("Please create a password ")
 with open ("scores.csv", "a") as scoreFile:
     scoreFileWriter = csv.writer(scoreFile, delimiter=',')
     scoreFileWriter.writerow([login, newpassword])
     scoreFile.close()

在这一行中,似乎您自己在使用逗号,这就是csv编写器将为您的代码执行的操作(正如@Pipupnipup所说,指定一个delimeter)

您只需向writerow传递一个列表,让它处理换行符和逗号:

scoreFileWriter.writerow([username, newpassword])

迭代:用纯文本存储密码是非常糟糕的做法(TM)

您应该指定分隔符','https://docs.python.org/3/library/csv.html

scoreFileWriter = csv.writer(scoreFile, delimiter=',')

另外,用纯文本编写密码是非常糟糕的做法(TM)

相关问题 更多 >