如何导入在导入到 JMP 时引用 Excel 工作簿名称的 Excel 工作表我有一堆 excel 文件,大约有 2 年的时间,每月都会编译一次。 我想将每个工作簿中的一个工作表导入到 JMP 中。 不幸的是,日期时间戳仅在每个工作簿的标题中引用,而不是在我要导入的工作表上的任何位置引用。 无论如何,是否可以将工作簿标题与工作表一起导入?
谢谢
数据存取回复:如何导入在导入到 JMP 时引用 Excel 工作簿名称的 Excel 工作表如果我明白你想要什么,你绝对可以编写能够处理该问题的 JSL 脚本。 JSL 脚本的外观以及它应该执行的操作在很大程度上取决于您拥有的数据及其创建方式。
最有可能的是,您至少需要 Files In Directory()、For 循环(或者甚至更好的 For Each)、Open() 以及一些字符串/数据表操作函数,
回复:如何导入在导入到 JMP 时引用 Excel 工作簿名称的 Excel 工作表你好@Wendy_Murphrey ,
很抱歉恢复已完成的对话,但我有一个本质上相似的疑问。
就像 Fiona 一样,我有大量 Excel 文件,我将这些文件中的数据传输到 JMP 中进行分析。 直到最近,我一直以一种非常中世纪的方式执行此操作,手动打开 Excel 文件,并将相关信息直接复制到 JMP 表中。 虽然这是站得住脚的,但我确实相信导入功能(以及附加到现有数据表的串联)是提高效率的更好的长期解决方案。
至于Fiona,我的相关信息在每本练习册的第4页中,并标记为“循环”。 我当时需要导入 4 到 20 个这样的工作簿,用它们来更新我的 JMP 表。 每个工作簿都有一个字符串标题,通常为 8 个字符长。 这是被测试对象的唯一标识符。
我的问题是:我是否可以在导入时替换生成的表的名称(例如,现在如果我导入 8 个文件,JMP 中生成的表为“cycle”、“cycle 2”、“cycle 3”等) .) 作为原始 Excel 工作簿的标题(在本例中变为“工作簿 1”、“工作簿 2”、“工作簿 3”等)?
我的下一个问题是关于串联。 我是否可以编写一个可以分析特定单元格的脚本(例如,由脚本生成的单元格,它将工作簿的标题复制到导入时的特定列中),然后使用该单元格中的值来附加将剩余列中的信息添加到现有 JMP 表中?
为了澄清起见,让我们假设我正在测试一个对象,在本例中标记为“A71320”。 我有一个 JMP 数据表,也称为“A71320”,它是该测试对象的所有相关数据的汇编。 每个新测试都会生成一个 Excel 文件,也标记为“A71320”。 我想使用您的脚本导入此文件。 如果我理解正确的话,它将复制第 4 页“循环”中的所有数据,创建一个新的 JMP 表,标记为“循环”,然后在这个新表中创建一个包含 1 个填充单元格“A71320”的新列。 然后,我想运行一个脚本,该脚本将看到此单元格“A71320”,识别 JMP 中名为“A71320”的现有表格,并附加除标题单元格之外的所有信息,从“cycle”到“A71320”。 这可能吗?
我最诚挚的感谢您花时间阅读这个问题。
羚羊
回复:如何导入在导入到 JMP 时引用 Excel 工作簿名称的 Excel 工作表惊人的!回复:如何导入在导入到 JMP 时引用 Excel 工作簿名称的 Excel 工作表@菲奥纳斯顿听起来控制 Excel 工作表的选项卡导入将是 JMP 的一项有用改进。 我发现这个请求位于JMP 愿望清单- 给它点赞,我们将来可能会在 JMP 中看到这种改进!
与此同时,上面的 JMP 同事提供了一个很好的 JSL 解决方案来帮助您。
最好的,
杰夫
回复:如何导入在导入到 JMP 时引用 Excel 工作簿名称的 Excel 工作表谢谢温迪回复:如何导入在导入到 JMP 时引用 Excel 工作簿名称的 Excel 工作表Wendy 的回复显示了一种在创建多个文件导入时添加源列的简单方法。
使用 Directory() 中的 Files 来获取文件,然后使用简单的 For() 循环读取一个又一个文件,每个文件都添加像 Wendy 所示的列,这是一种非常简单的使用方法。
回复:如何导入在导入到 JMP 时引用 Excel 工作簿名称的 Excel 工作表杰夫,
多个文件导入具有我需要且您已突出显示的功能(添加我需要的文件名列,因为每个工作簿的名称都包含日期,例如“04/21 Metrics”)。 但是,当我使用多个文件导入时,只会返回每个工作簿的第一张工作表,而我需要每个工作簿中的第三张工作表。 有没有一种方法可以使用多个文件导入从每个工作簿中获取第三张工作表? 我大约有20本左右的练习册。
反过来,
使用“文件/打开”,我可以从每个工作簿中调用正确的工作表(工作表 3)。 现在我有 20 个正确的工作表,但我无法判断它们来自哪个日期,因为此方法没有创建源列的选项。
谢谢
菲奥娜
回复:如何导入在导入到 JMP 时引用 Excel 工作簿名称的 Excel 工作表@菲奥纳斯顿你如何导入这些工作表? 多个文件导入有一个复选框,用于将文件名添加到添加到最终数据表的列中。 如果您使用连接平台手动连接文件,则可以创建类似的数据表列。 每个导入工作表的文件名将是文件的标题,根据您的描述,该标题应包含文件时间戳。


回复:如何导入在导入到 JMP 时引用 Excel 工作簿名称的 Excel 工作表你好, @菲奥纳斯顿。
假设您使用 JSL 导入数据,您可以将文件名(或文件名的任何部分)存储在可用于填充新列的变量中。
filepath = "$SAMPLE_IMPORT_DATA/Team Results.xlsx";
file = Word( -2, filepath, "/." );<BR />
dt = Open(
filepath,
Worksheets( "Grouped Team Results" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 3 ),
Data Starts on Row( 4 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
dt << New Column( "Workbook Name", Character, Set Each Value( file ) );
或者,您可以自动将所需信息直接直接放入 Excel 文件中。看这篇文章的说明。
希望有帮助。
回复:如何导入在导入到 JMP 时引用 Excel 工作簿名称的 Excel 工作表用于打开 Excel 工作簿的 Open() 函数有一个名为“Worksheets”的元素,可以在 open 中设置该元素。以下摘自输入 JMP 的工作表的“源”条目。它显示要读入的工作表的名称
工作表(“工作表1”)
Open(
"$DOCUMENTS/Discussion Group/Data wrangling .xlsx",
Worksheets( "Sheet1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
)