Python 我在代码中犯了什么错误?
出于某种原因,我的代码似乎没有添加到q,它为q打印出0,即使csv文件中有11行,我只想检查csv文件是否为空,代码在我的脚本中不工作,但在python控制台中工作正常Python 我在代码中犯了什么错误?,python,csv,with-statement,Python,Csv,With Statement,出于某种原因,我的代码似乎没有添加到q,它为q打印出0,即使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中的行,所以如果你有一个文件
with open('File.csv', 'r') as FILE:
q=0;LS = reader(FILE, delimiter=',')
for i in LS:
q+=1
print q
有人能告诉我我犯了什么错误吗?我真的很困惑。这个
I
正在遍历LS
中的行,所以如果你有一个文件有一行,它将是1,如果你有一个空文件,它将是0,等等。。。我怀疑您的文件是空的,或者打开失败。您确定文件名正确并且在同一文件夹中吗?我用我很快制作的csv文件运行了你的脚本(内容:1,2),它按预期输出了1。还要确保您的示例代码可以自行执行,以便将来从csv导入读取器中包含。您所说的“为q打印0”是什么意思?您的CSV文件的内容是什么?它不回答问题,而是使用;在python中,使用另一行是不好的做法。如果在for
循环中打印i
,则可以快速调试代码。我怀疑LS
是空的,因此q
保持为0。您应该指定读卡器来自何处reader from csv(请参阅我的帖子)在循环中添加一些调试语句,例如print I
,print q
并查看发生了什么。我做了,它确实打印出来了是的,它包含了那一行,有没有其他方法可以检查csv文件是否为空?您可以将该文件作为常规文件读取,即:fh=open('file.csv','r')作为fh:print line中的行,或者仅使用例如cat读取该文件。