def saveAllSpectra(self): fltrs = ['Raw ASCII *.txt', '","-separated CSV *.csv', '";"-separated CSV *.csv', '"tab"-separated CSV *.csv', 'OMNIC CSV *.csv'] message = "Enter file name to be used as root" fileList, fileFilter = PyMcaFileDialogs.getFileList(parent=self, filetypelist=fltrs, message=message, currentdir=None, mode="SAVE", getfilter=True, single=True, currentfilter=None, native=None) if not len(fileList): return fileroot = fileList[0] dirname = os.path.dirname(fileroot) root, ext = os.path.splitext(os.path.basename(fileroot)) if ext not in [".txt", ".csv"]: root = root + ext ext = "" # get appropriate extensions and separators filterused = fileFilter.split() if filterused[0].startswith("Raw"): csv = False ext = "txt" csvseparator = " " elif filterused[0].startswith("OMNIC"): # extension is csv but saved as ASCII csv = False ext = "csv" csvseparator = "," else: csv = True ext = "csv" if "," in filterused[0]: csvseparator = "," elif ";" in filterused[0]: csvseparator = ";" elif "OMNIC" in filterused[0]: csvseparator = "," else: csvseparator = "\t" nSpectra = len(self.spectrumList) n = int(numpy.log10(nSpectra)) + 1 fmt = "_%" + "0%dd" % n + ".%s" for index in range(nSpectra): legend = self.spectrumNames[index] x = self.xValues[index] y = self.spectrumList[index] filename = os.path.join(dirname, root + fmt % (index, ext)) ArraySave.saveXY(x, y, filename, ylabel=legend, csv=csv, csvseparator=csvseparator)
def _saveSlot(self): if self.outputDir is None: if self.inputDir is not None: self.outputDir = self.inputDir else: self.outputDir = PyMcaDirs.outputDir wdir = self.outputDir format_list = ['";"-separated CSV *.csv', '","-separated CSV *.csv', '"tab"-separated CSV *.csv'] if self.outputFilter is None: self.outputFilter = format_list[0] outfile, filterused = PyMcaFileDialogs.getFileList(self, filetypelist=format_list, mode="SAVE", message="Output File Selection", currentdir=wdir, currentfilter=self.outputFilter, getfilter=True, single=True) if len(outfile): outputFile = qt.safe_str(outfile[0]) else: return self.outputFilter = qt.safe_str(filterused) filterused = self.outputFilter.split() try: self.outputDir = os.path.dirname(outputFile) PyMcaDirs.outputDir = os.path.dirname(outputFile) except: self.outputDir = "." if not outputFile.endswith('.csv'): outputFile += '.csv' #always overwrite if "," in filterused[0]: csv = "," elif ";" in filterused[0]: csv = ";" else: csv = "\t" ddict = self.getTransmissionTable() x = ddict["energy"] y = ddict["transmission"] try: ArraySave.saveXY(x, y, outputFile, xlabel="Energy", ylabel="Transmission", csv=True, csvseparator=csv) except IOError: msg = qt.QMessageBox(self) msg.setIcon(qt.QMessageBox.Critical) msg.setText("Input Output Error: %s" % (sys.exc_info()[1])) msg.exec() return