Skip to content

Commit 89e0a6e

Browse files
committed
improve usability of conversion script
1 parent 7bbd786 commit 89e0a6e

File tree

2 files changed

+63
-33
lines changed

2 files changed

+63
-33
lines changed

data/expected/fb/convert2hdf5

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
#! /usr/bin/env python3
2+
3+
"""\
4+
Convert csv uvfits-like files to HDF5
5+
6+
Examples:
7+
8+
%(prog)s [options] -i input -o output
9+
"""
10+
11+
import sys, csv, h5py, argparse
12+
13+
parser = argparse.ArgumentParser(description=__doc__)
14+
parser.add_argument("-i", dest="INPUT_FILE", default="", help="input file")
15+
parser.add_argument("-o", dest="OUTPUT_FILE", default="", help="output file")
16+
parser.add_argument("-w", "--with-w", dest="HAS_W", action="store_true", default=False, help="assume w coordinate present")
17+
args = parser.parse_args()
18+
19+
if args.INPUT_FILE == "":
20+
print("Specify input file using -i flag!")
21+
sys.exit(1)
22+
23+
if args.OUTPUT_FILE == "":
24+
print("Specify output file using -o flag!")
25+
sys.exit(1)
26+
27+
udata = []
28+
vdata = []
29+
wdata = []
30+
rdata = []
31+
idata = []
32+
sdata = []
33+
with open(args.INPUT_FILE, mode ='r') as file:
34+
csvFile = csv.reader(file)
35+
for line in csvFile:
36+
u = None
37+
v = None
38+
w = None
39+
re = None
40+
im = None
41+
s = None
42+
if args.HAS_W:
43+
u, v, w, re, im, sigma = line[0].split()
44+
wdata.append(float(w))
45+
else:
46+
u, v, re, im, sigma = line[0].split()
47+
udata.append(float(u))
48+
vdata.append(float(v))
49+
rdata.append(float(re))
50+
idata.append(float(im))
51+
sdata.append(float(sigma))
52+
53+
with h5py.File(args.OUTPUT_FILE, 'w') as f:
54+
f.create_dataset('u', data=udata)
55+
f.create_dataset('v', data=vdata)
56+
if args.HAS_W:
57+
f.create_dataset('w', data=wdata)
58+
f.create_dataset('re', data=rdata)
59+
f.create_dataset('im', data=idata)
60+
f.create_dataset('sigma', data=sdata)
61+
62+
print(f"Saved '{args.OUTPUT_FILE}'.")
63+

data/expected/fb/convert2hdf5.py

Lines changed: 0 additions & 33 deletions
This file was deleted.

0 commit comments

Comments
 (0)