51 lines
1.0 KiB
Python
Executable File
51 lines
1.0 KiB
Python
Executable File
#!/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()
|
|
|