From 0858fd00e5bab2886e660bddfa58858e6cb2eeae Mon Sep 17 00:00:00 2001 From: einarr Date: Mon, 9 Feb 2009 22:12:39 +0000 Subject: [PATCH] ftsv2csv - script to convert ftsv files to comma/tab separated values. --- bin/ftsv2csv | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100755 bin/ftsv2csv diff --git a/bin/ftsv2csv b/bin/ftsv2csv new file mode 100755 index 0000000..6ffc6d7 --- /dev/null +++ b/bin/ftsv2csv @@ -0,0 +1,50 @@ +#!/usr/bin/python + +import sys + +from laydi import dataset +from getopt import getopt + +def read_options(): + short_opts = "" + long_opts = [] + + options, params = getopt(sys.argv[1:], short_opts, long_opts) + + return params + + +def write_csv(fd, ds): + rowdim, coldim = ds.get_dim_name() + rowids = ds.get_identifiers(rowdim) + colids = ds.get_identifiers(coldim) + x = ds.asarray() + + ## Print ID row + print >> fd, rowdim, + for id in colids: + print >> fd, id, + print >> fd + + ## Print column IDs and data + for i, row in enumerate(rowids): + print >> fd, row, + for j in range(len(colids)): + print >> fd, x[i,j], + print >> fd + +if __name__ == "__main__": + params = read_options() + input_fn = params[0] + + if len(params) == 2: + output_fn = params[1] + else: + name, ext = input_fn.rsplit('.', 1) + output_fn = name + '.csv' + + ds = dataset.read_ftsv(input_fn) + output_fd = open(output_fn, 'w') + write_csv(output_fd, ds) + output_fd.close() +