0

このようなヘッダー付きの tsv ファイルがあります。

Header1 header2 header3 header4 header5
Aa      bb      dd      cc      aa      
Bb      bb      aa      cc      bb    
Cc      bb      cc      dd      aa    
Aa      bb      ee      cc      dd    
Aa      vv      ff      gg      ii

私は次のような辞書を持っています{‘0’: ‘aa’, ‘1’:’bb’,’3’:’cc’}

このファイルを解析して、インデックス 0 のすべての列が aa、インデックス 1 が bb、インデックス 3 が cc であるファイルから行を返すことになっています。つまり、最初の列が aa、2 番目の列が bb、4 番目の列が cc であるすべての行を取得する必要があります。したがって、tsv ファイルの最初の 1 行目と 4 行目を印刷できるはずです。

Aa  bb  dd  cc  aa
Aa  bb  ee  cc  dd

私のコード スニペットは、これらすべての条件の交点を提供するのではなく、各条件が満たされるすべての行を提供します。スクリプトの修正を手伝ってください。上記で指定された辞書は、index dict という名前が付けられます。

data=csv.reader(open(tsvfile,'rb'),delimiter = "\t")
            fields =data.next()
            print "-------------------------Rows Filtered-------------------------"
            for key,value in indexdict.items():

              for row in data:

                            if row[key]== value:
                                    linecount=linecount+1
                                    print row`                  
4

1 に答える 1