在 JMP 中将具有多个选项卡的多个 Excel 文件导入到一个表中你好,我正在使用“导入多个文件”功能从不同的 Excel 文件中获取数据,我面临的挑战是只能提取第一个选项卡中的数据。每个文件上还有三个选项卡,我想从中获取数据。有没有办法在 JMP 中做到这一点?感谢大家的帮助。
艾兹
自动化和脚本基础数据分析与建模数据访问回复:将具有多个选项卡的多个 Excel 文件导入 JMP 中的一个表中我再次复制了脚本,它运行时没有任何错误。
它主要完成了需要做的事情,唯一的问题是描述数据点来自何处(文件和选项卡)的添加的列不正确。
理想情况下,我希望它创建一个描述列,说明每个数据点来自文件的位置,类似于“File_Name_Tab_Name”。有没有办法将其添加到脚本中?
感谢所有的帮助,
百分
回复:将具有多个选项卡的多个 Excel 文件导入 JMP 中的一个表中我怀疑 JSL 线就在这条线之前
dtfinal = New Table( "Together" );
不以分号结尾。
如果看不到您所包含内容之前的几行,我只能猜测这个问题。
回复:将具有多个选项卡的多个 Excel 文件导入 JMP 中的一个表中我添加了额外的脚本行,但在尝试运行它时,我不断收到以下错误,JMP 脚本区分大小写吗?我将 dtfinal 中的“f”更正为 dfFinal,但没有帮助。

回复:将具有多个选项卡的多个 Excel 文件导入 JMP 中的一个表中Names Default To Here( 1 );
theFiles = Multiple File Import(
<<SET folder="">" )
) << import data;
// There is a option that can be specified to the MFI
// << Stack Similar Files
// that can be specified, and JMP will stack all files that
// have the same columns.
// However, the below JSL can be used to Concatenate(Stack) all created
// data tables
// The MFI returns a complete list of all of the data tables created
// The variable in this example that contains that list is the
// variable "theFiles". It can be used in the Concatenation Platform
// to reference all of the created data tables.
dtfinal = New Table( "Together" );
dtFinal << concatenate(
theFiles,
Append to First Table( 1 ),
Create Source Column( 1 )
);
// To close the individual files after the concatenation
For Each( {file}, theFiles, Close( file, nosave ) );</SET>回复:将具有多个选项卡的多个 Excel 文件导入 JMP 中的一个表中非常感谢!脚本运行良好,正如预期的那样。它打开了 3 个 JMP 表,因为每个 excel 文件都有 3 个选项卡。
有没有办法将这些文件合并为一个?我认为这要求 JMP 列具有相同的名称,但我不确定如何使用 JMP 脚本来实现这一点。有什么建议吗?谢谢。
回复:将具有多个选项卡的多个 Excel 文件导入 JMP 中的一个表中使用
names default to here(1);
theFiles = multiple file import(
<<SET folder="">")
)<<IMPORT data="https://community.jmp.com/">< ode></IMPORT></SET>
<P>在 JMP 16、JMP 17 和 JMP 18 中,多个工作表 Excel 文件会打开所有工作表。JMP 15 及更早版本仅打开第一个工作表。</P>
<P>如果您使用的是 JMP 15 或更早版本,则可以使用 Directory() 中的文件来获取要读取的所有文件,然后循环使用 Open() 读取 Excel 文件,它将读取所有工作表</P>
<P> </P>
<P> </P>回复:将具有多个选项卡的多个 Excel 文件导入 JMP 中的一个表中如果你将 MFI 更改为
Names Default To Here( 1 );
theFiles = Multiple File Import(
<<SET folder="">" )
) << Set Add File Name Column( 1 )<< import data;</SET>
它将创建一个包含文件名的列。然后,您可以在最终数据表中添加一个新列,将文件名列与源表列放在一起以获得所需的内容。
回复:将具有多个选项卡的多个 Excel 文件导入 JMP 中的一个表中脚本看起来不错,生成的文件有一个新列,列出了源文件名,但没有列出选项卡名称。三个选项卡中的所有数据都具有相同的文件名,没有列出选项卡名称。还有其他建议吗?
多谢,
百分

回复:将具有多个选项卡的多个 Excel 文件导入 JMP 中的一个表中如果您运行的代码指定
<< Set Add File Name Column( 1 )<< import data;
MFI 将在每个创建的表中创建一个名为“文件名”的新列。它包含 Excel 工作簿的名称。MFI 还根据工作簿名称和后面的单个选项卡名称为每个创建的数据表命名。
因此,运行 Concatenate 时,使用选项
Create Source Column( 1 )
指定时,在连接结果表中会创建一个名为“源表”的附加列。

它包含工作簿名称,后面跟着选项卡名称。根据我对您问题的理解,这应该为您提供了所需的信息。如果您希望以不同的形式显示两列的数据,例如合并到一列中,您需要做的就是创建一个新列,并使用公式将两列的信息连接在一起。
回复:将具有多个选项卡的多个 Excel 文件导入 JMP 中的一个表中问题是没有创建包含文件名和选项卡名称的列。有一个文件名列,其中包含源文件名,后跟数据。源表不正确,来自多个文件/选项卡的数据使用相同的命名。

回复:将具有多个选项卡的多个 Excel 文件导入 JMP 中的一个表中请从您导入的 1 个 Excel 工作簿中提供以下信息
- 路径目录文件夹
- 工作簿的文件名
- Excel 工作簿中的选项卡(电子表格)的名称
- 在工作簿上运行 MFI 后,JMP 为不同数据表指定的数据表名称
- 创建的数据表的文件名列中的值
回复:将具有多个选项卡的多个 Excel 文件导入 JMP 中的一个表中我已经附加了脚本、2x 带有多选项卡的 excel 文件以及运行脚本时生成的表格。
感谢您的帮助,
百分
回复:将具有多个选项卡的多个 Excel 文件导入 JMP 中的一个表中文档中没有说明,但显然 Stack Mode 的默认设置是 Stack Similar。当我强制将其设置为 Table Per File 时,问题似乎得到了解决
theFiles = Multiple File Import(
<<SET folder=""></SET>
回复:将具有多个选项卡的多个 Excel 文件导入 JMP 中的一个表中效果很好,现在“源表”列正确列出了文件和选项卡名称。非常感谢大家的帮助。
最后一个问题,不是很重要,有没有办法从其中一个选项卡中排除数据?我并不真的想要“主”选项卡中的数据,因为它只列出了日期和时间。现在我将所有内容都放在了同一张表中,我可以进行一些手动清理,只是想知道是否有办法将其添加到脚本中。
再次感谢,
百分
回复:将具有多个选项卡的多个 Excel 文件导入 JMP 中的一个表中有几种方法可以做到这一点。
- 使用 Contains() 函数搜索文件列表,然后使用 Remove From() 函数从列表中删除表,这将把它从连接操作中删除。
- Together 数据表创建完成后,使用 Select Where() 函数从 Source Table 列中找出数据表中不需要的行,然后使用 Delete Rows 删除选定的行。