0

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

  1. 这段代码有问题。我没有正确理解方言部分。目前它给出了一个 AttributeError: 'function' object has no attribute 'readline.

  2. 还有一种方法可以让我从标题中给出一些字段名称以供读取。我尝试使用 csv.Sniffer().has_header 方法来做到这一点,但没有成功。

请帮忙

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)]
4

1 回答 1

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)]
于 2013-07-19T15:58:10.787 回答