2014-02-14 114 views
0

我试图确定在Python v2.6中的CSV文件中存在的列数。这必须是一般的,因为在我通过的任何输入中,我应该能够获得文件中的列数。Python - 从csv文件中获取列数

样品输入文件:love hurt hit

其他输入文件:car speed beforeTune afterTune repair

到目前为止,我曾尝试做的是阅读的文件(有许多行),获得第一行,再算上第一行中的字数。分隔符是,。当我尝试根据示例输入分割headings时遇到问题,接下来len(headings)给我14这是错误的,因为它应该给我3.任何想法?我是一名初学者。

with open(filename1, 'r') as f1: 

csvlines = csv.reader(f1, delimiter=',') 

for lineNum, line in enumerate(csvlines): 
     if lineNum == 0: 
      #colCount = getColCount(line) 
      headings = ','.join(line)   # gives me `love, hurt, hit` 
      print len(headings)     # gives me 14; I need 3 
     else: 
      a.append(line[0]) 
      b.append(line[1]) 
      c.append(line[2]) 
+0

数,请点击[Ask Question](http://stackoverflow.com/questions/ask)按钮提交。不要编辑旧的,以使现有的答案不相关。 – mhlester

回答

3

len("love, hurt, hit") 14,因为它是一个字符串。

的你想lenline,这是一个list

print len(line) 

如果你有一个新的问题,该输出的数量,而不是字符

+0

D'oh!这样一个愚蠢的noob错误! :/ – Eagle

+0

嗯,这是一个容易的做法。特别是如果你打算在某些时候使用该连接的字符串。可以很容易地忘记哪一个给你你要找的东西 – mhlester

+0

特别是因为'str'和'list'都给出了'len' – mhlester