以下簡單代碼讀取CSV文件並返回文件的行數。正如你在輸出中看到的那樣,這個文件有501行。readline()在使用readline()後無法讀取行()
>>> import codecs
>>> f = codecs.open("tmp.csv", "r", "utf_8")
>>> print len(f.readlines())
501
但是,如果我使用readlines方法()前插入的ReadLine(),後者沒有在文件的結尾到達。
>>> import codecs
>>> f = codecs.open("tmp.csv", "r", "utf_8")
>>> f.readline()
>>> print len(f.readlines())
1
在我的代碼中是否有任何基本的錯誤?我怎樣才能混合readline()和readlines()? (其實我不需要這兩項功能在我真正的程序混,但我只是好奇...)
您可以在 https://dl.dropboxusercontent.com/u/16653989/tmp/tmp.csv
轉載使用Python 2.7.5(OS X)和Python 2.6.6(科學的Linux 6.4) –
爲什麼你想先閱讀一行然後閱讀所有文件? – Llopis
不需要單獨閱讀第一行,但我只是想知道爲什麼此代碼無法按預期工作。 我的實際代碼中,文件中的第一行是註釋標題,其餘是數據。所以我第一次嘗試做'header = f.readline(); data = f.readlines()' 但是由於這個問題,我做了'lines = f.readlines(); header = lines [0]; data =行[1:]'現在。 –