2015-11-19 34 views
1

所以在我的Python代码一些非常奇怪的行为是怎么回事,不知道是什么原因,在读取文件的行数和CSV行数都关闭:Python的CSV行数的关

count2 = 0 
#Increase CSV field size as we are dealing with large fields 
csv.field_size_limit(sys.maxsize) 
with open(nullFile, 'rb') as csvfile: 
    print "Sum 2 " + str(sum(1 for row in csvfile)) 
    csvfile.seek(0) 
    reader = csv.reader(csvfile, delimiter=delimiter) 
    for line in reader: 
     count2 +=1 

第一张照片是:7292,第二张照片是: count2显示5332,不知道为什么会这样。为什么只读取7292的读者,我也检查了分隔符以及所有正常分隔符。

+1

我想这可能取决于文件中的内容。 –

+0

你能详细说明吗?你对文件内容有什么看法? – theMadKing

+0

该文件实际上有多少行?如果是7292,你能识别在阅读时没有出现的东西吗?如果5332,你能识别csvfile中没有被csv.reader读取的行吗? –

回答

0

可以引用CSV列。一个引用的列可以在其中有换行符。

物理上,该文件有7292 \n个字符。

允许使用CSV引用,有5332条有用的数据行。

"Example","Line\nWith A","Line Break"\n 

貌似2行(2个\ n个字符)

但是 - 与引用应用的规则 - 这是CSV数据的仅一个排。