* cython/py_imc_termite.pyx: json loads take care of floats, fix column assignment
* imc_channel.hpp: fix floating precision for get_channel() * extend/include advanced usage in examples
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
from imc_termite cimport imc_termite
|
||||
|
||||
import json as jn
|
||||
import decimal
|
||||
# import numpy as np
|
||||
|
||||
cdef class imctermite:
|
||||
@@ -21,7 +22,7 @@ cdef class imctermite:
|
||||
# get JSON list of channels
|
||||
def get_channels(self, bool data):
|
||||
chnlst = self.cpp_imc.get_channels(True,data)
|
||||
chnlstjn = [jn.loads(chn.decode(errors="ignore")) for chn in chnlst]
|
||||
chnlstjn = [jn.loads(chn.decode(errors="ignore"),parse_float=decimal.Decimal) for chn in chnlst]
|
||||
return chnlstjn
|
||||
|
||||
# print channels
|
||||
@@ -31,11 +32,11 @@ cdef class imctermite:
|
||||
# print table including channels
|
||||
def print_table(self, string outputfile):
|
||||
chnlst = self.cpp_imc.get_channels(True,True)
|
||||
chnlstjn = [jn.loads(chn.decode(errors="ignore")) for chn in chnlst]
|
||||
chnlstjn = [jn.loads(chn.decode(errors="ignore"),parse_float=decimal.Decimal) for chn in chnlst]
|
||||
with open(outputfile.decode(),'w') as fout:
|
||||
for chn in chnlstjn:
|
||||
fout.write(str(chn['yunit']).rjust(20)+str(chn['xunit']).rjust(20)+'\n')
|
||||
fout.write(str(chn['yname']).rjust(20)+str(chn['xname']).rjust(20)+'\n')
|
||||
fout.write('#' +str(chn['xname']).rjust(19)+str(chn['yname']).rjust(20)+'\n')
|
||||
fout.write('#'+str(chn['xunit']).rjust(19)+str(chn['yunit']).rjust(20)+'\n')
|
||||
for n in range(0,len(chn['ydata'])):
|
||||
fout.write(str(chn['xdata'][n]).rjust(20)+
|
||||
str(chn['ydata'][n]).rjust(20)+'\n')
|
||||
|
Reference in New Issue
Block a user