5
csv2netcdf --file FILE [--overwrite] [--group GROUP]
6
csv2netcdf (-h | --help)
10
-h --help Show this screen
11
--version Show version
15
from docopt import docopt
16
from datetime import datetime, timedelta
23
logging.basicConfig(filename='/tmp/debug.log',level=logging.DEBUG)
28
wr = args["--overwrite"]
29
group_mode = args["--group"]
30
group_name = args["GROUP"]
32
#filename = ".".join([_file.split(".")[0], "nc"])
36
nc = netCDF4.Dataset(filename, 'w')
38
nc = netCDF4.Dataset(filename, 'a')
41
_grp = nc.createGroup(group_name)
45
time = _grp.createDimension('time', None)
49
for line in sys.stdin:
52
for i, item in enumerate(a):
54
if var == "Date/Time":
56
_grp.createVariable("time", 'f8', ('time',))
62
_grp.variables[key][cnt] = value
65
_grp.createVariable(var, 'f8', ('time',))
69
dt = datetime.strptime(var, "%d-%b-%y %H:%M:%S.%f")
70
value = totimestamp(dt)
75
_grp.variables[key][cnt] = value
78
def totimestamp(dt, epoch=datetime(1970,1,1)):
80
# return td.total_seconds()
81
output = (td.microseconds + (td.seconds + td.days * 24 * 3600) * 10**6) / 1e6
82
return "%.6f" % output
84
if __name__ == '__main__':
85
arguments = docopt(__doc__, version=VERSION)
87
logging.debug(arguments)