2013-02-01 55 views
0

我为csv文件编写了一个小解析器,我从第一行读取coloumns的数量。在不忽略第一行的情况下解析csv文件

但是,我需要计算的第一行...有没有办法不忽略第一行?

with open(dataset_path, "r") as f: 
    coloumns = f.readline().strip().split(',') 
    numRows = 0 
    sums = coloumns 
    for line in f: 
     values = line.split(',') 
      for i in xrange(len(values)): 
       sums[i] = float(values[i]) 
+0

格式化?你如何获得f? – BenDundee

+1

我相信你知道这一点,但我会提到它以防万一。 Python带有[内置模块来解析和编写csv文件](http://docs.python.org/3/library/csv.html#module-csv)。 –

+0

请检查编辑后的版本 – pistal

回答

0

如果你的文件不是很大,你可以阅读所有行一次:

lines = f.readlines() 
columns = lines[0].strip().split(',') 
numRows = 0 
sums = columns 
for line in lines: 
    values = line.split(',') 
    for i in xrange(len(values)): 
     sums[i] = float(values[i]) 
+0

谢谢..但几乎完成使用csv – pistal

+0

'sum = map(float,values)'或'sums = [float(v)for v in values]'这两个消除循环。 – hughdbrown