Python 我如何遍历这个列表以得到正确的答案?
我试图遍历一个列表以获得结果列表,但第一个输出不正确。我的代码列在下面Python 我如何遍历这个列表以得到正确的答案?,python,list,loops,csv,Python,List,Loops,Csv,我试图遍历一个列表以获得结果列表,但第一个输出不正确。我的代码列在下面 with open(csvpath, newline='') as csvfile: csvreader = csv.reader(csvfile, delimiter=',') csv_header = next(csvreader) total = 0 for row in csvreader: #print(csvreader) total = int(r
with open(csvpath, newline='') as csvfile:
csvreader = csv.reader(csvfile, delimiter=',')
csv_header = next(csvreader)
total = 0
for row in csvreader:
#print(csvreader)
total = int(row[1]) -total
我跳过了第一行,因为它包含标题。我基本上应该从(单元格b1)867884中减去(单元格B2)984655。但是因为我使用的是循环,total
中的第一个值是867884或(单元格B2-0)
此外,我不能按照指导老师的规定使用熊猫来解决这个问题
我搜索了互联网和书籍,找到了正确的方法来找到答案,但没有成功
结果应为(单元格B1)867884减去(单元格b2)984655。但是因为我使用的是循环,
total
中的第一个值是867884或(单元格B2-0)。您的行total=int(行[1])-total实际上没有意义,因为您在任何点(行[1]部分)只使用了一列。事实上,您并不是在使用循环,即使使用循环,您也可以执行以下操作:
with open(csvpath, newline='') as csvfile:
csvreader = csv.reader(csvfile, delimiter=',')
csv_header = next(csvreader)
for row in csvreader:
print(int(row[0]) - int(row[1])) # use indexes to specify which column you need
不过,我会让您找到只获取B行的最佳方法;) 我想我用这段代码把你带到了那里。我粘贴了一个变量“last”,它将上一次迭代置于for循环之外,并在循环运行后分配它。这个问题并不清楚,但希望你能接受这个问题并解决这个问题
with open('convertcsv.csv', newline='') as csvfile:
csvreader = csv.reader(csvfile, delimiter=',')
# csv_header = next(csvreader)
cvsfile = csvreader
last = 0
for value in csvreader:
b1 = int(value[1])
b2 = last
if last == 0:
next
total = b1 - b2
print(total)
last = int(value[1])
您的循环基本上是每次对总计求反,然后添加一个新值。我认为这不是您想要的,但您只使用了csv文件的一列。