如何使用JSL将十进制数据的TXT文件制作成二进制格式文件?十进制文件使用最近的选项卡将数据分成三列。
它们都是整数:
第一列的数据范围从 90,000 到 199,999
第 2 列:从 100 到 900,000 的正整数
第三列:正负整数或0

他们有很多行。
如何使用 JSL 将它们保存为二进制文件或文件后缀没有任何限制。
并且需要弄清楚如何将这个新二进制文件中恢复的十进制数据重新读取到 JMP 中。
非常感谢!
脚本视窗Re: 如何使用JSL将十进制数据的TXT文件转成二进制格式文件?好的
dt=Open("/C:/1/ss.txt",columns(
New Column("c000001",Numeric(4),"Continuous",Format("Best",12)),
New Column("c000002",Numeric(4),"Continuous",Format("Best",12)),
New Column("c000003",Numeric(4),"Continuous",Format("Best",12))),
Import Settings(End Of Line(CRLF,CR,LF),End Of Field(Tab,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(0),Column Names Start(1),Data Starts(1),Lines To Read("All"),
Year Rule("20xx")));
谢谢!
Re: 如何使用JSL将十进制数据的TXT文件转成二进制格式文件?短数字列在 JMP 中已有很长时间了。 可能回到 JMP 5,可能更长。 首选项菜单随着时间的推移发生了变化,但我认为该脚本在旧版本的 JMP 中可以正常工作。
Re: 如何使用JSL将十进制数据的TXT文件转成二进制格式文件?我懂了。 我通常使用 JMP14 或 15。因为它仍然是 Windows 7。
我昨晚使用 JMP 16 尝试了另一台计算机。我刚刚看到它。 “16.0.0”

感谢克雷格毫无保留的耐心帮助。
Re: 如何使用JSL将十进制数据的TXT文件转成二进制格式文件?Re: 如何使用JSL将十进制数据的TXT文件转成二进制格式文件?我仍然找到此代码。

我试着写了几个都不行
Column(dt,1)<<DATA type=""></DATA>
谢谢!
Re: 如何使用JSL将十进制数据的TXT文件转成二进制格式文件?我认为它是数字(4)Re: 如何使用JSL将十进制数据的TXT文件转成二进制格式文件?我很确定如果您保存表脚本(具有 4 字节列的表)然后编辑该脚本,您将看到以 4 字节二进制格式创建列的正确语法。Re: 如何使用JSL将十进制数据的TXT文件转成二进制格式文件?这种到二进制的转换也不会记录在 JMP 16 日志中。
Re: 如何使用JSL将十进制数据的TXT文件转成二进制格式文件?如何使用 JSL 将这些列格式化为 4 字节 INTEGER。我尝试写了几个都不行,也没有搜索。
dt=Current Data Table();<BR />Column(dt,1)<<DATA type=""></DATA>
Column(dt,1)<<DATA type=""></DATA>
谢谢专家!
Re: 如何使用JSL将十进制数据的TXT文件转成二进制格式文件?我知道了。

感谢克雷格!
Re: 如何使用JSL将十进制数据的TXT文件转成二进制格式文件?JMP 数据表是一个二进制文件。 以任何常用方式(文件->保存、<<保存)将其保存为 .JMP 扩展名。
是的,文件中有一些元数据,但是如果你有 1,000,000 行三个 4 字节数字,12,000,000 字节,那么元数据的开销大约为(752 字节 / 12,000,000 字节),或 < .01% 开销. 作为交换,你
- 可以免费加载文件
- 不必担心记住列名
- 可以与其他 JMP 用户共享
- 如果需要,可以添加更多列,甚至混合和匹配 8 字节双精度
- 不需要发明另一个文件扩展名(.dat、.bin、.myformat?)
如果您需要与非 JMP 用户共享数据,压缩的 CSV 会非常小,并且非常便携的。
说了这么多,如果你必须制作其他格式的二进制文件,请参阅ESP32 时钟中的 JSL BLOB例如使用 matrixToBlob。 该文件包含高度结构化的数据,其自身具有独立的偏移量,以表示位图的运行长度编码数据,连接到每个像素值的查找表。 很难得到正确的结果,很难测试和使用,但给了我我需要的结果。
Re: 如何使用JSL将十进制数据的TXT文件转成二进制格式文件?感谢克雷格!
我已经像这样格式化了每一列,但仍然不知道如何将二进制文件保存到计算机的硬盘上?


Re: 如何使用JSL将十进制数据的TXT文件转成二进制格式文件?打开首选项并查找允许短整数列的选项。 使用数据创建一个数据表,并为每个列使用四个字节(打开选项后在列对话框中可用。)
Using a 4-byte integer使用 4 字节整数
我忘记了确切的规则,但大约是:
- 1 字节列表示 +/- 1e2 和缺失,
- 2 字节 +/- 3e4 和缺失和
- 4 字节表示 +/- 2e9 和缺失。
可选:保存前开启整表压缩。 这将使用类似 zip 的压缩可能压缩更多,但仅在磁盘上,但由于压缩而导致保存和加载速度较慢。
使用 4 字节整数将是 8 字节双精度的一半。 我认为即使在内存中加载后也是如此。 为 8 字节双精度启用压缩可能会使文件几乎与压缩整数文件一样小,因为它应该找到相同的冗余来挤出。
Re: 如何使用JSL将十进制数据的TXT文件转成二进制格式文件?我想以这种方式减小文件的大小。
