def save(self, basename): fullname = self._get_filename(basename) #need vdiff_vect here and in the labels ## data = column_stack([self.nvect, self.ref, self.uL, self.uR, \ ## self.sensor_mat, self.error]) col_list = [self.nvect, self.ref] if hasattr(self, 'vdiff_vect'): col_list.append(self.vdiff_vect) col_list.extend([self.uL, self.uR, \ self.sensor_mat, self.error]) data = column_stack(col_list) data_str = data.astype('S30') rows, N_sense = self.sensor_mat.shape sen_labels = ['sensor %i' % ind for ind in range(N_sense)] labels = ['n','R (ref)'] if hasattr(self, 'vdiff_vect'): labels.append('vdiff_vect') labels += ['uL','uR'] + sen_labels + ['error'] str_mat = row_stack([labels, data_str]) txt_mixin.dump_delimited(fullname, str_mat, delim=',') self.data_file_name = fullname return str_mat
def save(self, basename): fullname = self._get_filename(basename) #need vdiff_vect here and in the labels ## data = column_stack([self.nvect, self.ref, self.uL, self.uR, \ ## self.sensor_mat, self.error]) col_list = [self.nvect, self.ref] if hasattr(self, 'vdiff_vect'): col_list.append(self.vdiff_vect) col_list.extend([self.uL, self.uR, \ self.sensor_mat, self.error]) data = column_stack(col_list) data_str = data.astype('S30') rows, N_sense = self.sensor_mat.shape sen_labels = ['sensor %i' % ind for ind in range(N_sense)] labels = ['n', 'R (ref)'] if hasattr(self, 'vdiff_vect'): labels.append('vdiff_vect') labels += ['uL', 'uR'] + sen_labels + ['error'] str_mat = row_stack([labels, data_str]) txt_mixin.dump_delimited(fullname, str_mat, delim=',') self.data_file_name = fullname return str_mat
def save(self, filename, folder=''): outpath = os.path.join(folder,filename) if not os.path.exists(outpath): txt_mixin.dump_delimited(outpath,self.data_array,labels=self.labels) print('saved: %s' % outpath) else: print('already exists: %s' % outpath)
def save(self, pathout, delim='\t'): """I need to add an intermediate step to quote strings for csv compliance, i.e. 'this is one really, really, long cell with commas.'""" ## data_out = prep_data_for_save(self.data) ## misc_utils.dump_matrix(pathout, data_out, self.labels, \ ## fmt='%s', delim=delim) quoted_labels = ['"%s"' % item for item in self.labels] txt_mixin.dump_delimited(pathout,self.data,delim=delim, \ labels=quoted_labels)
def save_csv(self, delim="\t"): if not hasattr(self, "csv_data"): self.build_csv_data() fno, ext = os.path.splitext(self.filename) outname = fno + '_clean_out.csv' txt_mixin.dump_delimited(outname, \ self.csv_data, \ delim=delim)
def save_data(self, filename=None): if filename is None: filename = self.find_filename() if os.path.exists(filename): print("exists: %s" % filename) return else: print("saving: %s" % filename) data = np.column_stack([self.nvect, self.t, self.u, \ self.v, self.enc, self.accel_shifted]) mylabels = ['n','t','u','v','enc','accel (shifted)'] txt_mixin.dump_delimited(filename, data, labels=mylabels)
def on_save_data(self, event): #need filepath dialog here filepath = wx_utils.my_file_dialog(parent=self, \ msg="Save data as txt file", default_file="", \ wildcard=txt_wildcard, \ kind="save", \ check_overwrite=False) if filepath: plot_list = self.plot_panel.get_plot_list() data_list = self.validate_plot_list_and_get_data(plot_list) if data_list: label_list = self.get_labels(plot_list) all_data = [self.t] + data_list all_labels = ['Time (sec.)'] + label_list c_labels = clean_labels(all_labels) data_mat = np.column_stack(all_data) # I could kind of use a way to clean the labels from latex to plain ascii # i.e. $\ddot{x}_{tip}$ --> accel txt_mixin.dump_delimited(filepath, data_mat, labels=c_labels)
def dumpcsv(outpath, csvlist, ids=False, extra_col_labels=None): last_names, first_names = _get_names(csvlist) N = len(last_names) vector_list = [last_names, first_names] labels = ["Last Name", "First Name"] if ids: banner_ids = get_banner_ids(csvlist) vector_list.append(banner_ids) labels.append("ID") if extra_col_labels is not None: labels.extend(extra_col_labels) Nec = len(extra_col_labels) for i in range(Nec): cur_empty = [""] * N vector_list.append(cur_empty) data = column_stack(vector_list) data2 = row_stack([labels, data]) txt_mixin.dump_delimited(outpath, data2, delim=",", fmt="%s")
def dumpcsv(outpath, csvlist, ids=False, extra_col_labels=None): last_names, first_names = _get_names(csvlist) N = len(last_names) vector_list = [last_names, first_names] labels = ['Last Name', 'First Name'] if ids: banner_ids = get_banner_ids(csvlist) vector_list.append(banner_ids) labels.append('ID') if extra_col_labels is not None: labels.extend(extra_col_labels) Nec = len(extra_col_labels) for i in range(Nec): cur_empty = [''] * N vector_list.append(cur_empty) data = column_stack(vector_list) data2 = row_stack([labels, data]) txt_mixin.dump_delimited(outpath, data2, delim=',', fmt='%s')
def save_bodes_to_file(filepath, freq, bode_list, labels): import txt_mixin data_out = bodes_to_string_matrix(freq, bode_list, labels) txt_mixin.dump_delimited(filepath, data_out)
accel = dttmm_sys.sys.sensors[-1] encoder = dttmm_sys.sys.sensors[0] enc_counts = encoder.signal_vect#*JVC_model_dict['H'] u = sim_sys.blocks[0].output sum1 = sim_sys.get_block('sum1') v = sum1.output figure(1) clf() plot(t, u) figure(2) clf() plot(t, enc_counts) plot(t, dttmm_sys.output[:,0])#*JVC_model_dict['H']) plot(df.t, df.theta) figure(3) clf() plot(t, accel.signal_vect) plot(t, dttmm_sys.output[:,1]) plot(df.t, df.a) data = column_stack([t, u, v, enc_counts, accel.signal_vect]) txt_mixin.dump_delimited(filename, data, labels=['t','u','v','theta','a']) show()