如何将文本文件打开设置保存到脚本中你好,
问题:
我有许多.txt文件。 我只关心第4列中的数据,从第7行开始到无穷大。 我想从众多的.txt文件中提取第4列中的所有数据,并将它们连接到一个表中。 做这个的最好方式是什么? 理想情况下,我想创建一个脚本来执行此操作。
同样,当我使用File-open方法打开带有Data的.txt文件(使用预览)时,我可以正确格式化第4列数据,但是我不知道如何查找或保存这些“ open”文件' 环境。 我想保存到脚本,以便可以使用相同的设置打开其他.txt文件。
我该怎么做呢?
我已附上我的示例.txt文件之一,以供参考。
谢谢您的帮助!
数据表脚本编写回复:如何将文本文件打开设置保存到脚本中我相信采取的方法是使用“导入多个文件”
File =>导入多个文件
您将读入文件夹中的所有文件,并将它们连接起来(如果需要)。然后,您要做的就是删除不需要的列。
同样,在运行了整个文件夹或一个测试用例的几个文件之后,您可以转到数据表左上方面板中的Source条目,然后右键单击它并选择Edit,您将获得所有的JSL需要从脚本运行。
回复:如何将文本文件打开设置保存到脚本中抱歉,我没有足够清楚地描述我的目标。 这个建议没有给我我所需要的。 我也意识到我将需要使用join命令而不是concatenate命令。
我有39个.txt文件。 我只想要每个.txt文件第4列中的数据。 我想提取该数据并将其添加到新表中,这样我就有39个单独的列(所有39个.txt文件中的每个第4列一个)。
回复:如何将文本文件打开设置保存到脚本中出于示例目的,我复制了您的示例文件的 4 个副本,并将它们全部放入我的讨论组文件夹下的文件夹中
Documents\Discussion Group\textfile
然后我去了
文件=>导入多个文件

我选中了“添加文件名列”的复选框
然后我点击“设置”

我取消选中“有标题”
我将“第一条数据线”更改为 7
我取消选中字段结束框“逗号”并选中“空格”
单击确定
点击导入
使用 Col1-Col6 列和 FileName 列打开的数据表

唯一需要的列是列 Col5 和 File Name,因此删除所有其他列

现在要做的就是将 4 个输入文件中的数据分成列
去
表=>拆分

选择文件名作为“拆分依据”列
选择第 5 列作为“拆分列”列
点击确定
新表将为每个输入文件有一列

这应该是您需要的表格的最终形式。您可以将列重命名为您想要的任何名称。
回复:如何将文本文件打开设置保存到脚本中感谢 Jim 展示打开多个文件。 它似乎非常强大。 奇怪的是,我从来没有使用过它——可能是因为像这样编写脚本任务的老习惯。
如果所有文件的行数完全相同,则以下脚本应提供相同的最终表格。
Names Default To Here( 1 );
path = "path to directory of text files";
files = Files In Directory( path );
open_expr = Expr(
dt = Open(
path || Expr( files[i] ),
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Spaces, CSV( 0 ) ),
Data Starts( 7 ),
Lines To Read( "All" )
),
private
)
);
M = []; //Matrix to hold data from multiple files
L = {}; // List of imported file names
For( i = 1, i <= N Items( files ), i++,
If( Ends With( files[i], ".txt" ),
Eval( Eval Expr( open_expr ) );
Insert Into( L, files[i] );
M ||= dt[0, 5]; // Add column 4 (5 becaue of fronting spaces in files)
Close( dt, no save );
)
);
// Make into table
dt = As Table( M, <<COLUMN names=""></COLUMN>