你好,
JSL 中是否有一个选项可以读取文本文件的前两行作为列标题或
或者(甚至更好)第一个作为列名,第二个作为列属性(单位)
谢谢
米尔科

@马丁德梅尔
下面 Craige 的示例是一个更好的解决方案,但此代码也可能有用。
这是一个小脚本,可以进行您想要的转换
Names Default To Here( 1 );
dt = Open(
"<PATH to="" bsp_jmp.txt="">",
columns(
New Column( "YYYY", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "MM/DD", Character, "Nominal" ),
New Column( "DAY", Character, "Nominal" ),
New Column( "hh:mm:ss", Numeric, "Continuous", Format( "h:m:s", 11, 0 ), Input Format( "h:m:s", 0 ) )
)
);
// Add 2nd line text to Column Name
For( i = 1, i <= N Cols( dt ), i++,
If( Column( dt, i ) << get data type == "Character" & Column( dt, i )[1] != "",
Column( dt, i ) << set name( Column( dt, i ) << get name || Column( dt, i )[1] )
)
);
// Delete second name row
dt << delete rows(1);
// Convert columns that are character but should be numeric, to numeric
For( i = 1, i <= N Cols( dt ), i++,
If( Column( dt, i ) << get data type == "Character" & Is Missing( Num( Column( dt, i )[1] ) ) != 1,
Column( dt, i ) << set data type( Numeric ) << set modeling type( Continuous )
)
);</PATH>

非常感谢您的支持。
我更喜欢这个 JSL 解决方案。
多文件导入也可以正常工作,但会在标题名称中添加一个“_”。

dtlist = Multiple File Import(
<<SET folder="">"; // make part of name
);
, // only one part? still need the rename to remove the trailing _
newname = p1
);
c << setname( newname );
);</SET>

您可以使用多文件导入来执行导入,然后使用脚本将列名称中标题行之间的“_”替换为您喜欢的任何内容。 只是一个想法。