cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • See how to interactively organize and restructure data for analysis. Register for May 29 webinar, 2pm US ET.

Discussions

Solve problems, and share tips and tricks with other JMP users.
Choose Language Hide Translation Bar

Automate importing files

I have imported an excel file using workflow and am editing the script to be more general. Within the import settings under Column names starts is a specific number but instead I want it to be when a specific condition is met (e.g. when row 5 column 2 says START with start being the column name). 

Any help in the right direction is very appreciated.

 

The snippet of code is below with the important function in bold:

Import Settings(
	End Of Line( CRLF, CR, LF ),
	End Of Field( Comma, CSV( 0 ) ),
	Strip Quotes( 1 ),
	Use Apostrophe as Quotation Mark( 0 ),
	Use Regional Settings( 0 ),
	Scan Whole File( 1 ),
	Treat empty columns as numeric( 0 ),
	CompressNumericColumns( 0 ),
	CompressCharacterColumns( 0 ),
	CompressAllowListCheck( 0 ),
	Labels( 1 ),
	Column Names Start( 263 ),
	First Named Column( 1 ),
	Data Starts( 264 ),
	Lines To Read( "All" ),
	Year Rule( "20xx" )
)
2 REPLIES 2
jthi
Super User

Re: Automate importing files

It might be easier to import the whole file and perform the data cleanup in JMP after the import (of course depending on your data).

-Jarmo
txnelson
Super User

Re: Automate importing files

Here is some pseudo code that might give you a leg up on a possible methodology to use

dt = Open(<Excel File>);

// Get the first row where the second column has the word START
headerRow = dt << get rows where( contains( as column(2), "START" )[1];
dataRow = headerRow + 1;

// Close the data table
close(dt, nosave);

// Substitute into the full Excel Import Settings the the header row number and 
// the data row number and run the code
Eval(
	Substitute(
		Expr(
dt = Open(.........
	Column Names Start( _H_ ),
	First Named Column( 1 ),
	Data Starts( _S_ ),
	......................);
		
		),
	expr( _H_ ), headerRow,
	expr( _S_ ), dataRow
	)
);

 

Jim

Recommended Articles