繁体   English   中英

在Python中将列表写入CSV文件

[英]Write list to CSV file in Python

我创建了一个测验供学生参加以测试他们的算术技能。 我希望将学生名单和他们的成绩写到一个csv文件中。 我正在努力写文件,尽管我设法做到了,但是excel文件中没有数据。 它说“ []的得分:[]”。 对于效率低下的代码,我们深表歉意,但是任何帮助将如何解决此问题。

我创建了2个空列表和一个变量。

Student = []
Score = []
QuizTaken = 0

这定义了何时将分数添加到列表。

def QuizTaken(): #the amount of quizzes taken by student

    while QuizTaken <= 3:

        userName, ClassName = Introduction() #used to input name and class using raw_input
        score = Quiz()

        Student.append(userName) #student's inputted name is appended to list
        Score.append(score) #student's final score is appended to list

QuizTaken()

这段代码以字符串形式将列表写入文件,但是我认为我的问题出在这里,但是我找不到它。

def WriteToFile():

   userName, ClassName = Introduction()
   score = Quiz()

   print ""

   if ClassName == "10x1":
       print "Creating a text file for your teacher..."
       fileWrite = open("10x1 Class Score.csv", "a+") 
       fileWrite.write("Score for ")
       fileWrite.write(str(Student))
       fileWrite.write(" : ")
       fileWrite.write(str(Score))
       fileWrite.write("\n")
       fileWrite.close()

该代码应将添加到空列表中的名称和分数写入一个csv文件中,并提供可供我查看的数据,但不应覆盖该数据。

您的代码有一些问题:函数和变量名称都包含QuizTaken。 您也不会在循环的主体中增加计数器(QuizTaken)。 您可以使用pandas( http://pandas.pydata.org/ )将数据存储在pandas.DataFrame.to_csv() ,然后使用pandas.DataFrame.to_csv()将其写入文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM