【发布时间】:2015-09-21 17:11:16
【问题描述】:
我正在尝试获取一个简单的 python 函数,该函数将读取 CSV 文件并找到列和行的平均值。 该函数将检查第一行和每一列的标题 以字母“Q”开头,它将计算值的平均值 该列,然后将其打印到屏幕上。然后对于每一行 数据它将计算列中所有项目的学生平均值 以“Q”开头。它会正常计算这个平均值 最低的测验被放弃了。它将为每个学生打印出两个值。
CSV 文件包含学生的成绩,如下所示:
hw1 hw2 Quiz3 hw4 Quiz2 Quiz1
john 87 98 76 67 90 56
marie 45 67 65 98 78 67
paul 54 64 93 28 83 98
fred 67 87 45 98 56 87
到目前为止我的代码是这样的,但我不知道如何继续:
import csv
def practice():
newlist=[]
afile= input('enter file name')
a = open(afile, 'r')
reader = csv.reader(a, delimiter = ",")
for each in reader:
newlist.append(each)
y=sum(int(x[2] for x in reader))
print (y)
filtered = []
total = 0
for i in range (0,len(newlist)):
if 'Q' in [i][1]:
filtered.append(newlist[i])
return filtered
【问题讨论】:
-
您说您有一个 csv 文件,并且您的代码将分隔符指定为
",",但您的示例文本似乎没有任何逗号。您是否出于某种原因删除了它们?