0

私はこのようなコードを持っています。field1、field2、..、fieldn などのフィールド名を持つ tsv ファイルの最初の行を削除しようとしています。

  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 に答える