Exporting single integer above columns of data.
reepingk
NumItems
Column0(0),Column1(0),Column2(0)
Column0(1),Column1(1),Column2(1)
...
...
...
Column0(NumItems-1),Column1(NumItems-1),Column2(NumItems-1)
Column0(NumItems),Column1(NumItems),Column2(NumItems)
Now, exporting the data in delimited columns is easy, however I'm not sure how to get the "NumItems" at the top of the list. Sure, I could do this in bash pretty quickly, but I'd like not to have to. I already have access to NumItems in the procedure, I just don't know how to export it to a file ahead of other columns.
My current code. Only works with my specific data, since it has 3 columns with "_0", "_1", and "_2" at the end of the wavenames.
Function EISExporter()
String listWave, listWave1, listWave2, wList=tracenamelist("",";",1)
Variable stringlength,i,numItems = ItemsInList(wList)
// print wList
For(i=0;i<numItems;i+=1)
listWave = stringfromlist(i,wList,";")
stringlength = strlen(listWave) - 3
listWave = listWave[1,stringlength] + "0"
listWave1 = listWave[0,stringlength-1] + "1"
listWave2 = listWave[0,stringlength-1] + "2"
// print listWave + " " + listWave1 + " " + listWave2 + ":"
// print "!!" + listWave + "!!"
wave w0 = $listWave
wave w1 = $listWave1
wave w2 = $listWave2
Save/J/M="\r\n"/I w2,w1,w0 as listWave[0,stringlength-2]+".txt"
endfor
End
String listWave, listWave1, listWave2, wList=tracenamelist("",";",1)
Variable stringlength,i,numItems = ItemsInList(wList)
// print wList
For(i=0;i<numItems;i+=1)
listWave = stringfromlist(i,wList,";")
stringlength = strlen(listWave) - 3
listWave = listWave[1,stringlength] + "0"
listWave1 = listWave[0,stringlength-1] + "1"
listWave2 = listWave[0,stringlength-1] + "2"
// print listWave + " " + listWave1 + " " + listWave2 + ":"
// print "!!" + listWave + "!!"
wave w0 = $listWave
wave w1 = $listWave1
wave w2 = $listWave2
Save/J/M="\r\n"/I w2,w1,w0 as listWave[0,stringlength-2]+".txt"
endfor
End
This is not what you need but might be a good starting point: http://www.igorexchange.com/node/2397
July 11, 2016 at 02:05 pm - Permalink
This is not what you need but might be a good starting point: http://www.igorexchange.com/node/2397[/quote]
Thanks! I THINK I can get away with using tab delimited, if not I may download the igor 7 beta. :) (Makes me really surprised that igor currently CAN'T export CSV format.) Actually, I may just create a wave of commas and export it between the other waves if spaces are ignored by the other program.
I was just reading up on SaveData, trying to save an individual variable the appending with save/A. I think your way may work better.
Heck, if I have the file open for writing, why don't I just export the data, line by line as CSV? It'll take marginally longer (each file only has ~60 rows) but I'll get pretty CSVs out of it. That's probably what the above link did...
Screw it. It's easier in bash. 5 line script, even programming non-ideally.
July 11, 2016 at 03:07 pm - Permalink
Option 1
* Add an additional point at the start of each wave.
* In the first wave, set the point to the number of points.
* In all other waves, set the value of the first point to NaN
* Export/Save the waves.
Option 2
* Write the header + waves to a text string or notebook
* Save the text string or notebook
--
J. J. Weimer
Chemistry / Chemical & Materials Engineering, UAH
July 12, 2016 at 10:08 am - Permalink