如何将文本文件打开设置保存到脚本中你好,
问题:
我有很多 .txt 文件。 我只关心第 4 列中的数据,从第 7 行开始到无穷大。 我想从众多 .txt 文件中提取第 4 列的所有数据,并将它们连接到一个表中。 做这个的最好方式是什么? 理想情况下,我想创建一个脚本来执行此操作。
同样,当我使用“文件 - 打开”方法打开带有数据的 .txt 文件(使用预览)时,我可以正确格式化第 4 列数据,但我不知道如何查找或保存这些“打开” ' 环境。 我想保存到脚本,以便可以使用相同的设置打开其他 .txt 文件。
我该怎么做呢?
我已附上我的示例 .txt 文件之一以供参考。
谢谢您的帮助!
大规模定制回复:如何将文本文件打开设置保存到脚本中谢谢两位的建议! 我认为脚本选项更像是我希望做的事情,并且工作起来很有魅力! 我还必须练习导入多个文件。
回复:如何将文本文件打开设置保存到脚本中感谢吉姆展示“打开多个文件”。 看起来好像很厉害的样子。 奇怪的是,我从未使用过它 - 可能是因为编写此类任务的旧习惯。
如果所有文件具有完全相同的行数,则以下脚本应给出相同的最终表。
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>
回复:如何将文本文件打开设置保存到脚本中出于示例目的,我制作了示例文件的 4 个副本,并将它们全部放入我的讨论组文件夹下的一个文件夹中
Documents\Discussion Group\textfile
然后我去了
文件=>导入多个文件

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

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

唯一需要的列是列 Col5 和文件名,因此删除所有其他列

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

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

这应该是您需要的表格的最终形式。您可以将列重命名为您想要的任何名称。
回复:如何将文本文件打开设置保存到脚本中抱歉,我没有清楚地描述我的目标。 该建议没有给我我需要的东西。 我还意识到我需要使用 join 命令而不是 concatenate 命令。
我有 39 个 .txt 文件。 我只想要每个 .txt 文件第四列的数据。 我想提取该数据并将其添加到一个新表中,这样我就有 39 个单独的列(所有 39 个 .txt 文件中的每第四列都有一个列)。
回复:如何将文本文件打开设置保存到脚本中我相信采取的路线是使用导入多个文件
文件=>导入多个文件
您将读入文件夹中的所有文件,并将它们连接起来(如果需要)。然后您所要做的就是删除您不需要的列。
另外,在运行整个文件夹或测试用例的几个文件后,您可以转到数据表左上方面板中的“源”条目,右键单击它并选择“编辑”,您将获得所有 JSL需要从脚本运行。