【问题标题】:Write list to CSV file in Python在 Python 中将列表写入 CSV 文件
【发布时间】:2016-03-26 20:13:26
【问题描述】:

我为学生创建了一个测验,以测试他们的算术技能。我希望将学生列表及其分数写入 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 文件,数据可供我查看,但不应被覆盖。

【问题讨论】:

  • 最好将dict 用于此目的,而不是将其存储在两个不同的列表中。你需要参加 Python 基础的入门课程。因为你误解了一些必要的事情。
  • 您将 QuizTaken 用作函数和变量名称。你也不会在循环体中增加你的计数器(QuizTaken)

标签: python list file csv


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2016-09-02
    • 2012-12-11
    • 1970-01-01
    • 2018-07-18
    • 1970-01-01
    • 2014-06-27
    • 1970-01-01
    相关资源
    最近更新 更多