算平均分的代码纠错
fi = open("score.csv","r")fo = open("avg-score.txt","w")
ls = []
x = []
sum = 0
for row in fi:
ls.append(row.strip("\n").split(","))
for line in ls:
for i in line:
sum += int(i)
avg = sum/3
x.append(avg)
sum=0
fo.write("语文:{:.2f}\n数学:{:.2f}\n英语:{:.2f}\n物理:{:.2f}\n科学:{:.2f}\n".format(x,x,x,x,x))
fi.close()
fo.close()
报错:avg没defined 本帖最后由 BLUEMING 于 2021-3-28 09:36 编辑
课程名 1月 2月 3月
语文 89 95 88
数学 77 87 100
英语 86 78 93
物理 56 67 79
科学 73 84 86
CSV文件 本帖最后由 suchocolate 于 2021-3-28 10:47 编辑
报错看起来像line内容是空的,没有进入循环就没有avg。
csv原始文件是用逗号作分隔符吗,如果是的话,直接用csv读取就行了:import csv
with open('test.csv', 'r', encoding='utf-8') as csvfile:
reader = csv.reader(csvfile, delimiter=',')
for row in reader:
print(row)
csv原始文件内容贴一下。 suchocolate 发表于 2021-3-28 10:43
报错看起来像line内容是空的,没有进入循环就没有avg。
csv原始文件是用逗号作分隔符吗,如果是的话, ...
是二楼那种,直接转成表格 本帖最后由 suchocolate 于 2021-3-28 11:12 编辑
BLUEMING 发表于 2021-3-28 11:03
是二楼那种,直接转成表格
二楼不是原始文件吧,如果二楼是原始文件的话,那么写split(',')就是不对的。
你还是把原始文件让我们看看。
另外你的代码里,split里是中文的逗号,你核实一下吧,csv分隔符一般不会是很长的空格。 suchocolate 发表于 2021-3-28 11:06
二楼不是原始文件吧,如果二楼是原始文件的话,那么写split(',')就是不对的。
你还是把原始文件让我们看 ...
file:///D:/KSWJJ/66000001/score.csv
这样能看到嘛
BLUEMING 发表于 2021-3-28 11:12
file:///D:/KSWJJ/66000001/score.csv
这样能看到嘛
看不到。
用记事本打开csv,复制之后把内容贴上来吧。 suchocolate 发表于 2021-3-28 11:22
看不到。
用记事本打开csv,复制之后把内容贴上来吧。
课程名,1月,2月,3月
语文,89,95,88
数学,77,87,100
英语,86,78,93
物理,56,67,79
科学,73,84,86
有逗号的,我的逗号写错了{:5_98:}
页:
[1]