''' Created on 10/01/2014 @author: MMPE ''' from __future__ import division from __future__ import unicode_literals from __future__ import print_function from __future__ import absolute_import from future import standard_library standard_library.install_aliases() import numpy as np from pandas import read_csv def pandas_dat_ascii2bin(ascii_filename, bin_filename, ui): df = ui.exec_long_task("Reading ascii file", False, read_csv, ascii_filename, sep=" ", skipinitialspace=True, header=None) def compress(df, bin_filename): with open(bin_filename, 'wb') as outfile: scale_factors = [] for _, sensor in df.iteritems(): sf = sensor.abs().max() / 32000 if sf > 0: sensor /= sf np.round(sensor.values).astype(np.int16).tofile(outfile) scale_factors.append(sf) return np.array(scale_factors) #return compress(df, bin_filename) return ui.exec_long_task("Compress and save as binary", False, compress, df, bin_filename)