我在以下代码中有一个逻辑错误:
while count < 5:
row = next(csv_f)
if row[0] != currentID:
userArray.append(Users(row[0]))
currentID = row[0]
count = count+1
userArray[len(userArray)-1].addUsageData(row[1],row[3])
它在每个用户中循环,直到ID改变为止,总共做了五次。你知道吗
一切正常,但我从第[1]行获得的usage数组中的最后一个索引总是下一个userID块中的第一个索引。就好像执行if块时len(userArray)没有更新一样。你知道吗
最后一次
row[0] != currentID
时,count
增量为5。这个 立即将您从while-loop
中断,在任何后续行之前 在csv_f
中进行处理。如果addUsageData
正在累积数据,这就是为什么最后的user
只有一行的数据。你知道吗您可以使用^{} 和^{} 来解决此问题:
相关问题 更多 >
编程相关推荐