#!/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, sorted=True)
colids = ds.get_identifiers(coldim, sorted=True)
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],
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()