2 回答

TA贡献1820条经验 获得超10个赞
您的行total = int(row[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 行;)

TA贡献2065条经验 获得超14个赞
我想我用这段代码让你大部分时间都在那里。我卡住了一个变量“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])
添加回答
举报