我正在导入一个文本文件,该文件不仅仅使用逗号来分隔值。 这是我正在使用的基本功能。
打开(“$desktop/jsonfiles/test.json”,“文本”)
如何修改函数来识别其他字符,例如用于识别新数据列的“[”?
另外,如果您要导入 JSON,请尝试使用 JSON 向导(我认为是从 JMP 14 开始)。最初的问题是针对特殊类型 JSON 的解决方法,该类型不适用于大多数 JSON 文件。
除了已澄清和传达的内容之外,还有一些将 .txt 文件导入 JMP(在 Windows 中)的额外步骤@Craige_Hales
1. 打开 JMP。
2. 使用 Windows 资源管理器选择“所有文件 (*.*)”,然后以“使用预览的数据”打开。 在本例中,我使用 JMP 示例数据目录中提供的 Big Class 数据集的 .txt 文件版本。

3. 指定分隔符、要跳过的行等...

4. 单击“下一步”。 单击图标以更改数据类型。 单击红色下拉箭头更改格式。

5. 单击“导入”按钮。JMP 会将源脚本保存到数据表中(存储在表的左上角绿色播放按钮旁边):
如果右键单击编辑脚本,它将如下所示:
Open(
"$DOCUMENTS/Big Class.txt",
columns(
New Column( "name", Character, "Nominal" ),
New Column( "Grade No", Character, "Nominal" ),
New Column( "weight", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "age", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "sex", Character, "Nominal" ),
New Column( "height", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "median split on weight",
Numeric,
"Continuous",
Format( "Best", 12 )
),
New Column( "sex indicator", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "Grade", Character, "Nominal" )
),
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 ),
Data Starts( 2 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
)
6. 复制该脚本并将其粘贴到新的脚本窗口中。
7. 接下来,参数化文件名引用并使用该代码轻松打开类似格式的文件。 或者,您可以使用 JMP 16增强日志选取用于导入操作的代码并从那里修改它。

使用文本导入向导成功导入的源脚本将为您提供所需的内容。 您可以将一个字符添加到分隔符列表中,如下所示:
Open(
"C:\...23a569_1.json",
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Comma, Other( "[" ), 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" )
)
)
一般来说,这不适用于 json 文件,但它可能适用于您的文件,因为数据中的行位于单行 json 文本中。