2016-08-03 58 views
1

由於某種原因,我的代碼似乎沒有添加到q,它打印出0的q即使有csv文件中有11行,我想檢查如果csv文件是空的,代碼不在我的腳本中工作,但在python控制檯它工作正常。我在代碼中犯了什麼錯誤?

with open('File.csv', 'r') as FILE: 
    q=0;LS = reader(FILE, delimiter=',') 
    for i in LS: 
     q+=1 
    print q 

有人可以告訴我我犯了什麼錯誤嗎?我很困惑。

+0

你是什麼意思,「打印出q爲0」?什麼是您的CSV文件的內容? –

+3

它不回答問題,但使用;在蟒蛇是不好的做法,使用另一條線。 –

+1

如果您在'for'循環中打印'i',則可以快速調試代碼。我懷疑'LS'是空的,因此'q'保持爲0. – Ian

回答

1

i遍歷LS中的行,所以如果你有一個帶有1行的文件,它將是1,如果你有一個空文件,它將是0,等等......我懷疑你的文件是空的,或者開幕式沒有成功。

+0

否文件不爲空 – user5117999

+0

在循環中添加一些調試語句,如'print i','print q'並查看會發生什麼。 – fritzone

+0

我做了它打印出來 – user5117999

2

你確定文件名是正確的,並在同一個文件夾?我用快速創建的csv文件運行腳本(內容:1,2),並按預期輸出1。還要確保您的示例代碼可以自行執行,因此將來會包含from csv import reader

+0

是的,它已包含該行,是否有另一種方法來檢查一個CSV文件是否爲空? – user5117999

+0

那麼你可以只讀取該文件爲常規文件,即: FH =開放(「FILE.CSV」,「R」) 線路在FH: 打印線 或者只是讀取文件,例如貓。 – Zafi

相關問題