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" )
)
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).
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
)
);