2014-02-14 73 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