您好 - 我正在尝试导入数百个 XML 文件。 这些文件需要作为单行输入,有些行需要分成多列,所以据我所知,XML 导入向导已经退出。 我尝试使用导入向导中的代码作为起点,但是 A)我看不到如何轻松地输入大量细微差别(例如指定将文本拆分为列,其中一列最多为 35k 条目 csv 格式) string) 和
我没有找到很多关于 XML 设置的文档。 我确实找到了有关 Parse XML 的文档和社区支持。 然而,我已经花了很长一段时间来调整我在论坛和脚本索引中找到的代码(甚至可能是对 ChatGPT 的一些相当无用的查询),但没有成功。 我对 jsl(以及一般的编码)非常菜鸟,所以这可能非常简单。
这就是我现在得到的。 我有更多,但我想开始,我只想能够访问 xml 数据并正确使用 Parse 命令,但我在获取除创建表之外的任何内容时遇到了严重的问题,而且我似乎没有正确获取属性,因为表显示未命名:
// Specify your preferred default folder
default_folder = "G:\My Drive\Edward H Chandler, Jr\VCU - Research\CERCAS\Project 46\XRD";
Set Default Directory( default_folder );
// Use the default folder to pick a file
file contents = Load Text File( Pick File(default_folder) );
Parse XML( file contents,
On Element(
"http://www.xrdml.com/XRDMeasurement/2.1^sample",
StartTag(
sheetname = XML Attr(
"http://www.xrdml.com/XRDMeasurement/2.1^type"
);
dt = New Table( sheetname );
row = 1;
col = 1;
)
)
);我主要是从这里和这里,但我注意到一些未记录的语法,例如在第一个链接中包含带有“Untitled”的 XML Attr 命令中的第二个术语,所以我什至不确定此代码是否普遍适用,尽管我确实得到了它处理它所针对的大数据文件。 我也不确定是否使用“^”来表示儿童,但此时我有点迷失了。 我想这也可能是命名空间标题为网页的问题,但我的理解是字符串是字符串是字符串。
无论如何,有人有任何建议或意见吗? 我什至愿意切换回 XML 设置路线。
我还附上了其中一个 xml 文件。 它最初是一个 .xrdml 文件,但我的理解是它的结构为 xml 文件,所以我只是更改了文件类型。
提前致谢!
@jthi感谢您的回复,并对迟到的回复表示歉意 - Welp。 广泛猜测绝对是一条出路。 我以为我点击了那个,但我想我按错了或者什么的。 感谢您指出。
这是我遇到一点麻烦的另一个问题。 我想将其导入到现有工作表中,就像匹配现有列一样,然后如果有不匹配的列,可能会抛出错误消息。 我还想根据分隔符分割某些单元格,所以我想使用 Word() 函数。 但是,我不太确定如何快速做到这一点。 我能想到的最好办法是创建一个中间表,然后让脚本读取该表,也许有一个用户输入窗口供要复制的行(将有>250行),在用Word拆分时复制信息(),如果不是所有列都匹配,则抛出错误消息,然后删除最后的虚拟中间表(可能带有批准“确定”按钮)。 我想我可以弄清楚如何做到这一点,但是有没有办法直接在我最终获取信息的表中执行此操作,而无需中间表? XML 设置命令文档很少,除非我在某处遗漏了它。
谢谢!
将数据获取到 JMP 表后(宽格式最有可能适用),然后您开始找出 JMP 可以进一步清理/修改数据的不同方法。 我不认为您可以直接在 XML 导入向导中完成所有操作(解析 XML 很可能可以做到这一点,但在我看来,它使用起来相当复杂)。
是的,宽是我的起点,然后我只是对列名称进行了大量编辑,拆分列,将列中的数据放入其他列的单位属性中并删除它们等。如果有人觉得有用,则附加最终文件作为清理 XML 文件时要做的一些事情的指南。 它不漂亮,但它就在那里。