2016-08-03 37 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

相关问题