ftsv2csv - script to convert ftsv files to comma/tab separated values.
This commit is contained in:
parent
a1e57d7820
commit
0858fd00e5
|
@ -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