ftsv2csv - script to convert ftsv files to comma/tab separated values.
This commit is contained in:
parent
a1e57d7820
commit
0858fd00e5
50
bin/ftsv2csv
Executable file
50
bin/ftsv2csv
Executable 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()
|
||||
|
Reference in New Issue
Block a user