The World Statistics Day celebration continues here in the Community. We all need reliable data for sound decision making. Do you have a data source that you trust most? Head over to Discussions to tell us about it.
Choose Language Hide Translation Bar
Highlighted
ambs
Level II

JSL for exporting/saving JMP Data Table as a CSV file without saving the Column Headers

Hi Experts!

I need some help on some JSL, as stated in the subject of the discussion:

JSL for exporting/saving JMP Data Table as a CSV file without saving the Column Headers

Appreciate the help.

Thanks in advance!

regards,

ambs

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
ms
Super User ms
Super User

Re: JSL for exporting/saving JMP Data Table as a CSV file without saving the Column Headers

There are text export preferences that can be set to exclude headers and save as a comma-delimited file. Many prefs can be set by JSL but not all.

 

This JSL code works on Macintosh but should work on Windows as well (not tested). The code restores the original prefs after saving. However, if that's not important the script can be simplified.

 

 

dt = Current Data Table();
// Get current prefs
current_pref = Char( Arg( Parse( (Char( Get Preferences( Export settings ) )) ), 1 ) );
// Set prefs (comma delimited, no headers)
Pref( Export Settings( End Of Field( Comma ), Export Table Headers( 0 ) ) );
// Save csv file
If(
          Host is( Windows ), dt << save( "c:/mydata/test.txt" ),
          Host is( Macintosh ), dt << save( "test.csv", text )
);
//Restore oribinal prefs
Eval( Parse( "pref(" || current_pref || ")" ) );

 

View solution in original post

4 REPLIES 4
Highlighted
ms
Super User ms
Super User

Re: JSL for exporting/saving JMP Data Table as a CSV file without saving the Column Headers

There are text export preferences that can be set to exclude headers and save as a comma-delimited file. Many prefs can be set by JSL but not all.

 

This JSL code works on Macintosh but should work on Windows as well (not tested). The code restores the original prefs after saving. However, if that's not important the script can be simplified.

 

 

dt = Current Data Table();
// Get current prefs
current_pref = Char( Arg( Parse( (Char( Get Preferences( Export settings ) )) ), 1 ) );
// Set prefs (comma delimited, no headers)
Pref( Export Settings( End Of Field( Comma ), Export Table Headers( 0 ) ) );
// Save csv file
If(
          Host is( Windows ), dt << save( "c:/mydata/test.txt" ),
          Host is( Macintosh ), dt << save( "test.csv", text )
);
//Restore oribinal prefs
Eval( Parse( "pref(" || current_pref || ")" ) );

 

View solution in original post

Highlighted
mattf
Level V

Re: JSL for exporting/saving JMP Data Table as a CSV file without saving the Column Headers

Worked fine on my Windows (WIN XP, JMP 9.0.2)!

Best,

-Matt

Highlighted
ambs
Level II

JSL for exporting/saving JMP Data Table as a CSV file without saving the Column Headers

Thanks MS!

I'm still using JMP 8.0... i encountered a few errors, but maybe it's because i'm using an old version...

for this line: current_pref = Char( Arg( Parse( (Char( Get Preferences( Export settings ) )) ), 1 ) );

I get this error on the log:

Name Unresolved: Get Preferences in access or evaluation of 'Get Preferences' , Get Preferences( Export settings )

In the following script, error marked by /*###*/

::dt = Current Data Table();

current_pref = Char(

Arg( Parse( Char( Get Preferences( Export settings ) /*###*/ ) ), 1 )

but since I don't need to restore the original prefs, i just deleted this part...

I also removed the checking for the OS (Mac or Windows) since i'm just using windows...

when I save a table as a txt file, the column header is removed... but when i save it as a csv file, the column header is still there...

so i guess i'll just save it as a txt file...

again, thanks a lot!

cheers!

regards,

ambs

Highlighted
txnelson
Super User

Re: JSL for exporting/saving JMP Data Table as a CSV file without saving the Column Headers



 

Jim
Article Labels

    There are no labels assigned to this post.