Here is a simple script that reads in the data

Names Default To Here( 1 );
dt = Open(
"<place the path to your txt file here",
columns(
New Column( "SampleID", Character, "Nominal" ),
New Column( "Density", Character, "Nominal" ),
New Column( "Weight", Character, "Nominal" ),
New Column( "Gage", Character, "Nominal" ),
New Column( "Peak", Character, "Nominal" ),
New Column( "Perm", Character, "Nominal" ),
New Column( "Pc@10", Character, "Nominal" ),
New Column( "kG", Character, "Nominal" ),
New Column( "Pc@13", Character, "Nominal" ),
New Column( "kG 2", Character, "Nominal" ),
New Column( "Pc@15", Character, "Nominal" ),
New Column( "kG 3", Character, "Nominal" ),
New Column( "Pc@17", Character, "Nominal" ),
New Column( "kG 4", Character, "Nominal" ),
New Column( "Pc@18", Character, "Nominal" ),
New Column( "kG 5", Character, "Nominal" ),
New Column( "Pz@10", Character, "Nominal" ),
New Column( "kG 6", Character, "Nominal" ),
New Column( "Pz@13", Character, "Nominal" ),
New Column( "kG 7", Character, "Nominal" ),
New Column( "Pz@15", Character, "Nominal" ),
New Column( "kG 8", Character, "Nominal" ),
New Column( "Pz@17", Character, "Nominal" ),
New Column( "kG 9", Character, "Nominal" ),
New Column( "Pz@18", Character, "Nominal" ),
New Column( "kG 10", Character, "Nominal" ),
New Column( "FF@10", Character, "Nominal" ),
New Column( "FF@13", Character, "Nominal" ),
New Column( "FF@15", Character, "Nominal" ),
New Column( "FF@17", Character, "Nominal" ),
New Column( "FF@18", Character, "Nominal" ),
New Column( "PcPl", Character, "Nominal" ),
New Column( "10", Numeric, "Continuous", Format( "Best", 10 ) ),
New Column( "PcPl 2", Character, "Nominal" ),
New Column( "13", Numeric, "Continuous", Format( "Best", 10 ) ),
New Column( "PcPl 3", Character, "Nominal" ),
New Column( "15", Numeric, "Continuous", Format( "Best", 10 ) ),
New Column( "PcPl 4", Character, "Nominal" ),
New Column( "17", Numeric, "Continuous", Format( "Best", 10 ) ),
New Column( "PcPl 5", Character, "Nominal" ),
New Column( "18", Numeric, "Continuous", Format( "Best", 10 ) ),
New Column( "PzPl", Character, "Nominal" ),
New Column( "10 2", Numeric, "Continuous", Format( "Best", 10 ) ),
New Column( "PzPl 2", Character, "Nominal" ),
New Column( "13 2", Numeric, "Continuous", Format( "Best", 10 ) ),
New Column( "PzPl 3", Character, "Nominal" ),
New Column( "15 2", Numeric, "Continuous", Format( "Best", 10 ) ),
New Column( "PzPl 4", Character, "Nominal" ),
New Column( "17 2", Numeric, "Continuous", Format( "Best", 10 ) ),
New Column( "PzPl 5", Character, "Nominal" ),
New Column( "18 2", Numeric, "Continuous", Format( "Best", 10 ) ),
New Column( "Grain", Character, "Nominal" ),
New Column( "Direction", Character, "Nominal" ),
New Column( "Time", Character, "Nominal" )
),
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Spaces, Space, CSV( 0 ) ),
Treat Leading Zeros as Character( 1 ),
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( 4 ),
First Named Column( 1 ),
Data Starts( 6 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
);
dt << select where( Is Missing( Num( :sampleID ) ) == 1 | Is Missing( Num( :density ) ) );
dt << delete rows;
colNames = dt << get column names( string );
For( i = N Items( colNames ), i >= 1, i--,
col = colNames[i];
Column( col ) << set datatype( numeric ) << set modeling type( continuous );
If( Col Number( As Column( col ) ) == 0,
dt << delete columns( col )
);
);
Jim