大家好,
我正在使用 Open 方法将各种结构化数据文件导入到 jmp 数据框中。 我很难看到我在第二种情况下做错了什么,因为我能够按照我希望的第一个代码块使用该方法进行子集化。 任何帮助,将不胜感激!
[文件名] 是文件名的字符串格式,不是变量引用。 根据公司政策,我省略了全名。
使用选择列的工作子集:
sl = Open(Pick File()/"[file name].xls",
Select Columns ("Description", "Sample Mix", "Analyte Type", :Name("Threshold (nA)"), "Expected Outcome", "Lane", "Heater")
) << Set Name ("Sample Lookup");不工作子集(返回所有原始列):
sd = Open (Pick File()/"[file name].csv",
Select Columns ("Accession Number", "Pad Name", " Warnings")
) << Set Name("Signal Data");我唯一能想到的是为什么底例不基于列进行子集化是 xls 与 csv 的不同数据格式。 但如果是这种情况,我将如何纠正呢? 谢谢你!
你好,
您是否检查过 CSV 导入参数是否包含正确的行作为列标题? 它可能就像将 Open 语句替换为具有正确参数的 Import Data 语句一样简单
只是一个想法。
最好的
TS
有一种特定于 csv 的方法可以省略列。 select columns() 可能需要一些文档来说明它特定于 JMP 数据表。 (编辑:发送给开发团队的说明)
编辑:使用 csv 导入向导后源脚本中的 JSL
Open(
"$DOWNLOADS/Big_Class.csv",
columns(
New Column( "name", Character, "Nominal" ),
Omitted Column( . ), // leave out the "age" column
New Column( "sex", Character, "Nominal" ),
Omitted Column( . ), // leave out the "height" column
New Column( "weight", Numeric, "Continuous", Format( "Best", 12 ) )
),
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( 1 ),
First Named Column( 1 ),
Data Starts( 2 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
)
编辑:省略可以代替新的像这样
Omitted Column( "age", Numeric, "Continuous", Format( "Best", 12 ) ),
记录遗漏的内容。 我很确定这些值被忽略了。 如果有很多列要忽略,也可以更轻松地编辑 JSL。
嗨蒂埃里,
由于我是 JMP 的 JSL 方面的新手,我目前认为“打开”是所有类型的主要功能,但我将研究 csv 类型文件的“导入数据”。 感谢您的指导!
谢谢,
尼尔·斯雷詹
嗨克雷奇,
哇,谢谢你解决了屏幕录制的麻烦,并展示了 JMP 如何记录导入和排除过程并为其复制源代码。 这是非常有用的信息,同样感谢您为“选择列”请求更多文档,因为在通读它时它对我自己来说不是很直观。 感谢您的帮助!
尊敬,
尼尔·斯雷詹