【发布时间】:2017-10-14 22:11:39
【问题描述】:
我有这个代码
def PromNotas():
archivo = open ("archivo.csv","r")
archivo2 = open ("archivo2.csv","w")
for reg in archivo:
reg = reg.strip("\n")
datos = reg.split(",")
prom = (datos[1] + datos[2])/2
reg2 = datos[0] + "," + datos[1] + "," + datos[2] + "," + str(prom)
if prom >= 7:
reg2 = reg2 + "," + "Aprobado\n"
else:
reg2 = reg2 + "," + "Desprobado\n"
archivo2.write(reg2)
archivo.close()
archivo2.close()
csv 文件如下所示:
Matt,7,8
John,9,6
Jim,6,7
所有代码都有效,但prom = (datos[1] + datos[2])/2 行表示列表索引超出范围。有人知道吗?
【问题讨论】:
-
请正确缩进
-
你能告诉我们你正在使用的 csv 文件的内容吗?
-
对不起,我没有意识到问题上的缩进
-
Catch the error 并在 except 套件中打印
datos和reg。他们是你所期望的吗?你的文件中有空行吗?文件中的所有行是否都有两个逗号 (,)? -
欢迎来到 SO。请花时间阅读How to Ask 及其包含的链接。如果您询问的是引发异常的代码,请在您的问题中包含 Traceback(格式化为代码)。
标签: python python-2.7 file