由于某种原因,我的代码似乎没有添加到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