由於某種原因,我的代碼似乎沒有添加到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
有人可以告訴我我犯了什麼錯誤嗎?我很困惑。
由於某種原因,我的代碼似乎沒有添加到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
有人可以告訴我我犯了什麼錯誤嗎?我很困惑。
i
遍歷LS
中的行,所以如果你有一個帶有1行的文件,它將是1,如果你有一個空文件,它將是0,等等......我懷疑你的文件是空的,或者開幕式沒有成功。
否文件不爲空 – user5117999
在循環中添加一些調試語句,如'print i','print q'並查看會發生什麼。 – fritzone
我做了它打印出來 – user5117999
你確定文件名是正確的,並在同一個文件夾?我用快速創建的csv文件運行腳本(內容:1,2),並按預期輸出1。還要確保您的示例代碼可以自行執行,因此將來會包含from csv import reader
。
是的,它已包含該行,是否有另一種方法來檢查一個CSV文件是否爲空? – user5117999
那麼你可以只讀取該文件爲常規文件,即: FH =開放(「FILE.CSV」,「R」) 線路在FH: 打印線 或者只是讀取文件,例如貓。 – Zafi
你是什麼意思,「打印出q爲0」?什麼是您的CSV文件的內容? –
它不回答問題,但使用;在蟒蛇是不好的做法,使用另一條線。 –
如果您在'for'循環中打印'i',則可以快速調試代碼。我懷疑'LS'是空的,因此'q'保持爲0. – Ian