Projects/laydi
Projects
/
laydi
Archived
7
0
Fork 0

ftsv2csv - script to convert ftsv files to comma/tab separated values.

This commit is contained in:
Einar Ryeng 2009-02-09 22:12:39 +00:00
parent a1e57d7820
commit 0858fd00e5
1 changed files with 50 additions and 0 deletions

50
bin/ftsv2csv Executable file
View File

@ -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()