打开并处理不同的 Excel 文件大家好
我正在尝试构建一个脚本,该脚本将从文件夹中打开一个 excel 文件,并根据可能不时更改的条件过滤该文件。
我需要用户根据他需要的 3-4 列来说明当时的文件名和条件。
我试图手动执行此操作并使用脚本,但它从未奏效。
有人可以帮忙吗?
回复:打开并处理不同的 Excel 文件向上?回复:打开并处理不同的 Excel 文件这听起来更像是我会做的事。我的老板坚持一切都通过代码自动进行,但我知道 sql,所以它可能更容易。
你能解释一下我如何在 jmp 文件上使用 sql 查询吗?你能举例说明打开和过滤 jsl 代码吗?
先感谢您
回复:打开并处理不同的 Excel 文件另一种方法是将 Excel 工作簿视为关系型数据库. 您可以从对话框中获取用户输入,并为第二个参数创建 SQL 语句打开数据库()功能。 使用打开()函数,然后从 JMP 中过滤数据。 我只是想让你知道另一种方法。
回复:打开并处理不同的 Excel 文件社区讨论论坛可帮助个人解决问题并帮助他们完成学习 JMP 的旅程。它不是用来请求按照他们的规范编写脚本的地方。我相信花时间阅读文档“发现 JMP”、“使用 JMP”和“脚本指南”对您最有利,以帮助您组装您想要的应用程序。 @gzmorgan0为您的入门提供了良好的“支持”。下面,我采用了她的代码并编写了一个非常简单的脚本,这应该会给你第二个“支持”,让你开发你的脚本。
Names Default To Here( 1 );
nw = New Window( "Input File Name",
V List Box(
H List Box(
Text Box( "Enter File Name: " ),
theName = Text Edit Box( "",
<<SET width=""></SET>
如果您在开发脚本的过程中遇到无法解决的具体问题或问题,社区将随时为您提供帮助。
回复:打开并处理不同的 Excel 文件我会尝试更具体
这是我需要能够完成的步骤:
1. 根据他的名字导入一个 excel 文件——我需要一个变量,当用户插入文件名时,它会更新 jsl 并打开特定文件。
2.过滤——我需要能够过滤掉一些东西——比如只在年龄=15或国家=美国时包括——或者按列J=25或G=英格兰
3. 拟合模型——城市将是X轴,薪水将是Y轴。
提前致谢。
回复:打开并处理不同的 Excel 文件@Tomer_Aminizar ,
有多种方法可以做到这一点,但您应该选择对您的用户环境有意义的方法。
下面的脚本提供了一个选项,使用选择文件() . 注意,出现提示时选择 Team Results.xlsx
Names Default To Here( 1 );
//***Select the file Team Results.xlsx
xlfid = Pick File(
"Select the Excel File", //prompt
"$Sample_Import_Data", //starting path
{"Excel Files|xls;xlsx", "Excel Files|*"}, //file types
1,
0,
""
);
//xlfid is the use selected file path
dt = Open( xlfid, //file path
Use for all sheets( 1 ),
Concatenate Worksheets( 1 ),
Create Concatenation Column( 1 ),
Worksheet Settings(
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( "-" )
)
);
有使用 SQL 数据库命令的选项,但这可能需要您的用户设置与 Excel 文件的 OBDC 连接。
如果 Excel 文件不是很大,创建文件并使用 JSL dt << Select Where( ) 语法来获得满足特定条件的观察结果可能会更容易。
看来您是 JMP 脚本语言的新手( JSL ) 。 真的吗?JMP 将为 JMP 平台(打开、排序、适合 YbyX 等)捕获脚本 (JSL),但它不会记录您采取的点击步骤。 脚本编写者有责任找到等效的 JSL 语法。
如果你是新手,我建议你熟悉一下帮助 > 脚本索引 >和搜索。 JMP 社区有助于查找 JSL 函数(对象消息)以完成某些任务。
一个简单的安全(无 IP 数据)示例会很有用。
祝你好运。
回复:打开并处理不同的 Excel 文件我会尝试更具体
这是打开文件的代码
Open(
"\\source\fileName.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( "-" )
)
)
现在我希望用户可以选择根据他插入的名称打开该文件。
问题的第二部分是我希望用户有一种基于一些固定过滤器来过滤文件的方法。例如,调用 people_count 的列 J 等于 60,或者调用类型的列 G 等于旅行或商务。
这个脚本的主要目的是让用户使用他们通常使用的过滤器快速打开文件。
谢谢您的帮助
回复:打开并处理不同的 Excel 文件您所描述的是可能的,但我们需要更多有关您遇到问题的信息。
你试过什么? 你遇到了什么错误或问题?