【发布时间】:2020-06-27 21:44:26
【问题描述】:
profits = 0
losses = 0
netprofits = 0
with open(csvpath) as csvfile:
csvreader = csv.reader(csvfile, delimiter =',')
csvheader = next(csvreader)
for row in csvreader:
if (int(row[1])) > 0:
profits += float(row[1])
profits = (profits)
print(sum(profits))
我不断收到一个错误,说它无法迭代 float() 对象。任何建议将不胜感激。
【问题讨论】:
-
作为一般规则,请在询问错误时发布完整的堆栈跟踪。
-
退出
with-block 后,csvfile已关闭,因此无法再访问。你应该得到一个ValueError: I/O operation on closed file-exception。for循环应缩进,以便包含在with块中。但是由于您没有发布堆栈跟踪,因此很难知道您的确切问题是什么。 -
@DanielF:文件处理程序已关闭,但这对 csvreader 对象没有任何意义。
标签: python python-3.x for-loop if-statement