csv加header python_python – 来自csv.Sniffer的has_header为具有相同布局的文件提供不同的结果...

在使用csv.Sniffer.has_header检测CSV文件是否有标题时,发现对于具有相同布局但细微差异的文件,结果不一致。在某些情况下,函数能正确识别标题,而在其他情况下则无法识别。问题可能出在csv库的启发式方法上。已注意到文件头列表长度和数据类型字典的差异可能与此有关。
摘要由CSDN通过智能技术生成

我有以下代码片段:

import csv

def has_header(first_lines):

sniffer = csv.Sniffer()

return sniffer.has_header(first_lines)

其中first_lines是文件的前2048个字节.该函数在大多数情况下都能正常工作,并且对于以如下开头的文件返回True:

SPEC#: 1, SIZE: 18473, TIME: 0.000000

1998.304312 2.15686

1998.773585 3.13725

1999.242914 3.13725

1999.712298 2.7451

2000.181736 2.94118

2000.651230 2.94118

2001.120780 2.15686

2001.590384 2.35294

2002.060043 2.94118

2002.529758 3.13725

2002.999527 2.54902

2003.469352 3.13725

2003.939232 1.96078

2004.409167 1.76471

2004.879158 2.94118

2005.349203 3.72549

2005.819304 3.33333

2006.289459 2.35294

2006.759670 1.76471

2007.229936 3.13725

2007.700258 3.52941

2008.170634 3.92157

2008.641065 3.92157

2009.111552 3.52941

2009.582094 4.70588

2010.052691 3.52941

2010.523343 3.33333

2010.994050 1.37255

2011.464812 2.35294

2011.935630 2.15686

2012.406502 3.52941

2012.877430 3.13725

2013.348413 2.15686

2013.819451 1.96078

2014

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值