我试图在csv文件中求一个列的和。文件看起来像:
Date Value
2012-11-20 12
2012-11-21 10
2012-11-22 3
这可能在数百行的范围内。我需要把总值(在本例中是25)打印到终端上。到目前为止,我已经有了一些代码,但是结果得到的数字比应该加起来要小得多。在排除故障时,我打印了一个和,并意识到它不是求和12+10+3,而是将每一列中的数字分开,求和为1+2+1+0+3,这显然等于一个更小的总数。这是我的代码,如果有人能推荐太好了!
with open("file.csv")) as fin:
headerline = fin.next()
total = 0
for row in csv.reader(fin):
print col # for troubleshooting
for col in row[1]:
total += int(col)
print total
csv
模块一个接一个地在您的行上循环,然后不需要在列上循环。仅求和int(row[1])
:您可以对生成器表达式和内置函数使用快捷方式:
注意,在Python中,字符串也是序列,所以当您执行
for col in row[1]:
操作时,您将在row[1]
的单个字符上循环;因此对于第一行,将是1
和2
:相关问题 更多 >
编程相关推荐