用于创建 JMP 文件的 Java API?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />有没有办法用 Java 创建 JMP 文件,而不是创建 CSV,然后要求用户使用 JSL 脚本自己进行转换?
回复:用于创建 JMP 文件的 Java API?您可能还想尝试这个脚本克雷奇@JMP慷慨地提供。
它说明了如何在读取 CSV 文件时显式列出表模式,从而将加载时间缩短一半——与 SQLite 加载方法的收益大致相同。
回复:用于创建 JMP 文件的 Java API?感谢您的建议。 我会检查这种方法。
问候,
巴里沃兹沃斯
苹果公司, MQM 操作演示和访问
(男) 916-208-9394
bwadsworth@apple.com
回复:用于创建 JMP 文件的 Java API?你好布沃兹沃思,
您可以使用 Java 和 JMP 都可以处理的二进制数据格式,例如 SQLite 表。
我做了一个实验在 Windows 上,使用 JMP13 和160MB CSV 文件 ( POD - 产品开放数据 - gs1_gcp.csv) 与字符串和浮点数的混合。
JMP 可以在 37 秒内解析并加载此 CSV 文件。
但使用 JMP 的查询生成器和 SQLite ODBC 驱动程序加载等效的 SQLite 数据库仅需 20 秒,即原始时间的 54%。
当然,与直接加载 JMP 表的时间相比,这些收益不算什么——在本例中,只需 4 秒!
但是,如果您想将数据从 Java 直接输出为不需要手动转换的格式,这可能是一个不错的方法。
回复:用于创建 JMP 文件的 Java API?试试看它如何为您扩展。这个 JSL 将制作一个随机数据表,一些数字,一些字符串。您可能应该将其设置为您期望的数据大小的两倍......然后该脚本创建上面描述的脚本 Jeff 并重新导入该表。赠送两次;第一个是创建时间,第二个是重新导入时间。您可以在下方看到 1,000,000 行 30 个变量构成一个 370MB 的文本字符串,该字符串在 45 秒内重新导入。最后,比较表平台验证结果。对于这种规模的问题,您很可能需要 64 位 JMP;一个 370MB 的字符串将突破 Windows 上 32 位 JMP 的限制。
start = Tick Seconds();dt = New Table( "original", Add Rows( 1000000 ), );For( i = 1, i <= 30, i++, If( Random Integer( 1, 2 ) == 1, x = dt << New Column( "c", Character, Formula( Substr( "abcdefghijklmnopqrstuvwxyz", Random Integer( 1, 20 ), Random Integer( 1, 20 ) ) ) ), x = dt << New Column( "c", Numeric, Formula( Random Integer( 1, 999999999 ) ) ) ); dt << runformulas; x << deleteformula;);stop = Tick Seconds();Show( stop - start );Wait( 1 );text = Char( dt << getscript );Show( Length( text ) );Wait( 1 );start = Tick Seconds();dt2 = Eval( Parse( text ) );stop = Tick Seconds();Show( stop - start );dt << Compare Data Tables( Compare with( dt2 ), Compare Data );
停止 - 开始 = 12.0166666666046;
长度(文本)= 369241917;
停止 - 开始 = 45.1166666664649;
比较数据表[]

回复:用于创建 JMP 文件的 Java API?嗨,杰夫,
感谢您提供此解决方案。 那么,脚本将是一个模板,我们将动态添加所需的列? 我们的数据文件可能非常大。 我们可以有大量的列和行。Set Values() 方法的限制是什么?
新专栏(
["en" => "name", "ja" => "??", "x-id" => "S_name_Col", "zh-CN" => "??",
特点,
“标称”,
设置属性(
“笔记”,
["en" => "...通常用作绘图中的标签变量",
"ja" => "????????????????????",
"x-id" => "S_usually_used_as_a_label_variable_Not",
"zh-CN" => "...???????????"]
),
设置值(
{“凯蒂”,“路易丝”,“简”,“贾克琳”,“莉莉”,“蒂姆”,“詹姆斯”,“罗伯特”,
“芭芭拉”、“爱丽丝”、“苏珊”、“约翰”、“乔”、“迈克尔”、“大卫”、“朱迪”、
“伊丽莎白”、“莱斯利”、“卡罗尔”、“帕蒂”、“弗雷德里克”、“阿尔弗雷德”、“亨利”、
“刘易斯”、“爱德华”、“克里斯”、“杰弗里”、“玛丽”、“艾米”、“罗伯特”、
“WILLIAM”、“CLAY”、“MARK”、“DANNY”、“MARTHA”、“MARION”、“PHILLIP”、
“琳达”、“柯克”、“劳伦斯”}
)
),
回复:用于创建 JMP 文件的 Java API?没有 Java API,只有 JSL新建表()语法是创建打开时将成为 JMP 数据表的文件的最佳方式。
你可以放一个 //!在脚本的第一行,它将自动运行打开文件时。 这样,它在打开时“看起来”就像一个 JMP 数据表。
你可以得到一个模板新建表()通过检查现有数据表的表脚本来创建数据表的语法。 您将在数据表左上角的热点菜单中找到表脚本。

此处附有一个示例 JSL 文件来说明这一点。 当您打开文件时,它将自动运行并创建一个数据表。
-杰夫