这是我的代码:
import csv
with open("Grades.txt", "r") as file:
reader = csv.reader(file)
for row in reader:
if name == row[0]:
with open("Grades.txt", "a") as file:
writer = csv.writer(file)
writer.writerow(grade)
变量名称和等级已在早期函数中定义。我有一个带有名称列表的文本文件,因此代码检查名称(John)是否在文本文件中,然后应该在名称旁边写下等级(A),用逗号分隔它。问题是我的代码会在整个名称列表下面写一个空格或2个空格。如果我可以让它写到名称的末尾,它就会像(JohnA)一样显示而没有分离。我对如何解决这个问题一无所知。如果你能纠正我的代码去做我需要的东西,我将不胜感激。变量name
是来自不同函数的登录的输入,因此每次输入都不同。也可以通过我的注册功能添加新名称,因此类似的问题也无济于事。
例如说我的文本文件如下所示:
约翰
萨姆
鲍勃
Sam获得的成绩是A.如何将A等级添加到Bobs名称的末尾,并用逗号分隔名称和等级?
答案 0 :(得分:0)
我不知道这个代码示例应该如何完成您描述的工作。遗憾。
import csv
students = [["Anne", "A"], ["Emily", "B"]]
with open("grades.csv", "w", newline="") as f:
writer = csv.writer(f)
for row in students:
writer.writerow(row)
您必须将一个tupel或一个列表作为一行提供给csv.writer。您描述的内容是您对该文件写了两次的声音,但我没有看到这是由您所描述的代码完成的。
我希望能帮到你一点点。对不起,我无法发表评论...
新:
我想说的是,您应该将主程序中的名称和等级放在一起,然后将其写入文件。这就是我如何解决你的任务。
names = ["John", "Sam", "Bob"]
grades = ["A", "B", "C"]
names_grades = zip(names, grades)
for row in names_grades:
print(row)
新行可以轻松写入您的文件。