如何从python中找到.csv文件中特定单元格的平均值?

时间:2017-12-17 13:33:06

标签: python csv

基本上,我想从python中找到.csv文件中特定单元格的意思。基本上,用户应该能够输入难度(简单,中等或难度),然后程序应该查找.csv中包含此输入难度的行,然后在相同的行中找到分数的平均值。 / p>

例如,如果用户输入“Easy”,则程序应输出2.5作为平均分数(因为(2 + 3)/ 2为2.5)。

以下是代码:

    file = open("Example.csv", "r")
    for line in file:
      details = line.split(",")
      which=input("Which topic would like? ")
      if which in details[2]:
        average = sum(details[0])/len(details[0])
        print(str(average))

这是.csv文件的文本:

2,Jo12,简便,地理

3,Ste11,简便,数学

5,Jo12,中,数学

3,Ste11,硬盘,地理

1 个答案:

答案 0 :(得分:0)

在您能够准确理解解释器将如何处理您的代码之前,请先从纸张和铅笔开始,然后手动描述算法

在这里,当第三列中的值等于用户询问的字符串时,您希望获得第一列中数字的平均值。以下是我如何描述这个过程:

  • 询问用户主题名称
  • 循环遍历csv文件的行
    • 如果第三个字段的值不等于主题名称,则直接在下一行继续
    • 否则
      • 将值加上值(initialy设置为0)
      • 增加值的数量(初始设置为0)
  • 如果值的数量为0,则告诉用户未找到该主题
  • 否则平均值等于值的总和除以值的数量。

在您的代码是如上所示的工作算法的实现之前,您将无法获得预期的结果。目前你的代码接近于无意义: - (