用于导入 JMP 的快速文本文件格式我制作大型分隔数据文件(通常是 csv 或 tsv),最终将由用户导入 JMP。通常大小为 1-3GB。我可以指定文件的格式,并希望听听大家的意见,哪种非 JMP 格式最好,是否有任何技巧可以加快大型文本数据文件的导入速度。
干杯,特洛伊
自动化和脚本回复:用于导入 JMP 的快速文本文件格式根据首选项中的设置,可以导入带有点和逗号的 txt 导入 - 。
“不可能”意味着:可以导入数据,但数字将被解释为字符 - 会浪费时间和内存:
JMP 处理数字的效率比处理文本高得多。将它们作为字符串导入,然后将其转换为数字的瓶颈可能过于极端,无法将 1-3GB 内存放入计算机内存中。
JMP 17(?) 引入了紧凑列。这样可以更高效地在计算机内存中存储字符列(包含重复条目)。但将数据从 csv 文件导入紧凑列可能会遇到瓶颈。
如果您想在“网格”中加载数字数据,请查看hdf5数据格式。
JMP 可以导入此类文件,但功能受到限制。最好通过 Python 加载数据。
回复:用于导入 JMP 的快速文本文件格式如果输入文件中有时间/日期数据,则有一些限制:
CSV 导入强制 MDY 或 DMY 日期格式
回复:用于导入 JMP 的快速文本文件格式由于您有可用的文件,您是否已经尝试过某些操作?
- 您尝试过哪些选项来打开文件?
- JMP 打开文件的“方式”:打开/多文件导入
- JMP18 中的 Python 集成(DuckDB / pandas / polars 等)
- 您是否遇到了一些性能问题?
- 您尝试过哪些文件格式?您可以创建哪些文件格式?
- 通常 .csv 是相当不错的文件类型,因为它易于创建且通常易于打开
- 还有其他文件类型,但它们可能更难创建并且有其优点/缺点,例如 Parquet、Pickle 或 Feather(您必须使用 JMP 的 Python 集成将它们加载到 JMP 中)。
- 数据库可以作为一个选项吗?sqlite 很可能是最简单的选项,JMP 可以轻松打开它
- 用户应该同时打开多少个文件?
- 有多少用户?
- 所有用户都会打开相同的文件吗?您能否使用一些自动化流程打开并创建一个 jmp 表,然后用户可以使用该表或将结果存储到数据库而不是文本文件中?
回复:用于导入 JMP 的快速文本文件格式感谢大家的回复。
这些文件只是预先准备好的数据集,通常有 10K+ 列.... 并且列名和类型因文件而异,因此很难提前识别列类型并在首选项中指定它。它们可供数百人使用,但通常有人一次只处理一个文件。JMP 可以处理数据大小(3GB 很少见,大多数文件大约为 1.2GB - 1.5GB).... 只是打开它们需要时间。此外,它们位于共享驱动器上......但人们通常在打开之前将它们复制到本地。
我认为下一步是制作数据集时将它们转换为 JMP 格式,并将它们保存为压缩的 JMP 文件和 CSV 文件。昨天测试时,我看到压缩率约为 4 倍。一些用户使用 Jupyter Notebooks 或直接在其他分析平台上使用这些文件,因此我也会为这些人保留 CSV 版本......我只是需要在 net-app 文件管理器上留出一些额外的空间。
再次感谢大家的意见。
回复:用于导入 JMP 的快速文本文件格式JMP 的压缩功能绝对可以帮助 JMP 用户,尤其是当它们存储在网络中时。这是我们为 JMP 用户做过的事情,将从特定网络驱动器位置找到的 .csv 文件转换为 JMP 表。现在我们尝试(当然并不总是可行或容易)将此类文件存储到数据库中,尽管我们通常没有那么多列,只有很多行。
还有一个选项是为 JMP 用户创建单独的插件来使用这些文件。虽然这仍然无法解决文件大小问题,但该工具可以先将它们复制为本地文件,然后在本地加载它们。