使用嗅探器删除第一行tsv

时间:2013-07-19 14:42:08

标签: python csv sniffer

我有这样的代码。我试图删除具有字段名称的tsv文件的第一行,例如field1,field2,..,fieldn。

  1. 这段代码有问题。我没有把方言部分弄好。目前它给出了一个AttributeError:'function'对象没有属性'readline。

  2. 还有一种方法可以从标题中给出一些字段名称供它阅读。我尝试用csv.Sniffer()。has_header方法做到这一点,没有运气。

  3. 请帮忙

    with open('outfile.txt','rb') as tsvin:
      dialect=csv.Sniffer().sniff.readline(1024)
      tsvin.seek(0)
      reader=csv.reader(tsvin,dialect,delimiter='\t')
      #has_header=csv.Sniffer().has_header(inf.read(1024))
    
    for row in tsvin:
      tsid= row[0]
      full_list.append(tsid)
      print [(g[0],len(list(g[1]))) for g in itertools.groupby(full_list)]
    

1 个答案:

答案 0 :(得分:0)

我说得对:

data= csv.reader(open('outfile.tsv','rb'), delimiter = "\t")
fields=data.next()
for row in data:
         tsid=row[0]
         full_list.append(tsid)
print [(g[0],len(list(g[1]))) for g in itertools.groupby(full_list)]