I have a series of collected metadata files. I have taken both the gr_read_file_metadata.py and parse_file_metadata.py scripts and hacked them to my own needs. What I would like to do is convert the PMT to python dictionary (already done in the vanilla files) and save the dicitonary as a Matlab .mat file format. SciPy has the necessary libraries and functions to save with the savemat command, the problem is, at least I believe it is the PMTs are being problematic.
For example I convert all headers to a dictionary and try to save just that and I get this error:
/usr/lib64/python2.6/site-packages/scipy/io/matlab/mio.py:165: FutureWarning: Using oned_as default value ('column') This will change to 'row' in future versions
>Traceback (most recent call last):
File "./parser_mat.py", line 71, in <module>
main(filename, options.savefile, options.detached, options.computer)
File "./parser_mat.py", line 51, in main
scipy.io.savemat(savefile, dict(info))
File "/usr/lib64/python2.6/site-packages/scipy/io/matlab/mio.py", line 168, in savemat
MW.put_variables(mdict)
File "/usr/lib64/python2.6/site-packages/scipy/io/matlab/mio5.py", line 1217, in put_variables
mat_writer.write()
File "/usr/lib64/python2.6/site-packages/scipy/io/matlab/mio5.py", line 897, in write
self._write_items()
File "/usr/lib64/python2.6/site-packages/scipy/io/matlab/mio5.py", line 941, in _write_items
MW = MWG.matrix_writer_factory(self.file_stream, el[f])
File "/usr/lib64/python2.6/site-packages/scipy/io/matlab/mio5.py", line 1094, in matrix_writer_factory
% (arr, type(arr)))
TypeError: Could not convert _30320b0200000000_p_boost__intrusive_ptrT_pmt__pmt_base_t (type <type 'SwigPyObject'>) to array
The snippet of code to save is this:
scip.io.savemat(savefile, dict(info))
savefile is a string that is a user set arguement. info is the dictionary.
I don't know if anyone on this list has tried to do what I am doing but I would appreciate any insight on where this is going wrong, especially if the problem is on my end.