Mercurial > repos > xuebing > sharplabtool
diff collapseTab.py @ 14:76e1b1b21cce default tip
Deleted selected files
author | xuebing |
---|---|
date | Tue, 13 Mar 2012 19:05:10 -0400 |
parents | 292186c14b08 |
children |
line wrap: on
line diff
--- a/collapseTab.py Sat Mar 10 08:17:36 2012 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -''' -collapse tabular files, with key columns, and max columns -''' - -def collapseTab(filename,c_key,c_max): - # keeping rows with max value in column c_max - nCol = max(max(c_key),c_max) - c_max = c_max - 1 - for i in range(len(c_key)): - c_key[i] = c_key[i] - 1 - uniqintv = {} - data = {} - f = open(filename) - for line in f: - flds = line.strip().split('\t') - if len(flds) < nCol: - continue - key = '' - for i in c_key: - key = key + flds[i-1] # i is 1-based, python is 0-based - if not uniqintv.has_key(key): - uniqintv[key] = float(flds[c_max]) - data[key] = flds - elif uniqintv[key] < float(flds[c_max]): - uniqintv[key] = float(flds[c_max]) - data[key] = flds - - f.close() - for key in uniqintv.keys(): - print '\t'.join(data[key]) - -import sys - -# convert string to number list -c_key = map(int,sys.argv[2].split(',')) -c_max = int(sys.argv[3]) -collapseTab(sys.argv[1],c_key,c_max)