从 txt 文件导入数据,每 10 行一行数据
我是新的 jmp 用户。我有一个大型文本文件,从第 6 行开始,每 10 行都有数据。我的列标题在第 4 行,我想使用固定宽度字段,但是当我选择自己的列宽时,它会将前 3 个标题向右移动。
基础数据分析与建模数据访问回复:从 txt 文件导入数据,每 10 行一行数据鉴于您的数据,我认为只需指定从第 3 行开始的标题和从第 6 行开始的数据,然后让 JMP 默认读取数据,这样会更容易。之后,您应该能够使用 JMP 的数据处理功能来摆脱不必要的行,然后将列转换为数字。
您能否提供一个示例 csv 文件,以便社区了解他们能想出什么?
回复:从 txt 文件导入数据,每 10 行一行数据回复:从 txt 文件导入数据,每 10 行一行数据我发布了示例文件。谢谢您的回复
回复:从 txt 文件导入数据,每 10 行一行数据这是一个读取数据的简单脚本

Names Default To Here( 1 );
dt = Open(
"<PLACE the="" path="" to="" your="" txt="" file="" here="">= 1, i--,
col = colNames[i];
Column( col ) << set datatype( numeric ) << set modeling type( continuous );
If( Col Number( As Column( col ) ) == 0,
dt << delete columns( col )
);
);</PLACE>
回复:从 txt 文件导入数据,每 10 行一行数据我会像 txnelson 建议的那样,提取如下数据

然后使用 JMP 进行清理。例如,您可以用公式创建新列
Mod(Row(), 10)
右键单击并选择所有带有 1 的行,反向选择,然后删除行

反转后

然后根据需要删除空列并将数据格式更改为数字连续。
这是基本的想法(除非你希望为其创建 JSL),但似乎需要进行一些修复才能获得正确的标题
回复:从 txt 文件导入数据,每 10 行一行数据你是山羊。这个示例将帮助我学习如何在这个应用程序中使用脚本。
回复:从 txt 文件导入数据,每 10 行一行数据我可以在第一个单位标题下添加另一行列标题吗?单位在第 5 行。谢谢!!
回复:从 txt 文件导入数据,每 10 行一行数据我修改了 JSL,在创建数据表(如我最初的回复中所示)后,我重新读取 .txt 文件并读取单位。然后,它将单位作为列属性添加到完整数据表中的列中。
注意:单位不是列名的一部分。它们是列属性。但是,单位将自动随列显示。

名称默认为此处( 1 );
文件 = //”
"L:\Documents\Discussion Group/cschultz32.txt";
dt = 打开(文件,
导入设置(
行尾( CRLF, CR, LF ),
字段结束(空格,空格,CSV(0)),
将前导零视为字符 ( 1 ),
脱衣舞行情( 1 ),
使用撇号作为引号( 0 ),
使用区域设置( 0 ),
扫描整个文件( 1 ),
将空列视为数字( 0 ),
压缩数字列( 0 ),
压缩字符列( 0 ),
CompressAllowListCheck( 0 ),
标签( 1 ),
列名称开始( 4 ),
第一个命名列( 1 ),
数据启动( 6 ),
要阅读的行(“全部”),
年份规则(“20xx”)
)
(英文):
dt << 选择其中(缺失(Num(:sampleID))==1 | 缺失(Num(:density)));
dt<<删除行;
colNames = dt << 获取列名(字符串);
对于(i = N Items(colNames),i >= 1,i--,
列 = colNames[i];
列(col)<<设置数据类型(数字)<<设置建模类型(连续);
如果(列号(作为列(col))==0,
dt << 删除列( col )
(英文):
(英文):
// 读入单位并应用它们
dtUnits = 打开(文件,
导入设置(
行尾( CRLF, CR, LF ),
字段结束(空格,空格,CSV(0)),
将前导零视为字符 ( 1 ),
脱衣舞行情( 1 ),
使用撇号作为引号( 0 ),
使用区域设置( 0 ),
扫描整个文件( 1 ),
将空列视为数字( 0 ),
压缩数字列( 0 ),
压缩字符列( 0 ),
CompressAllowListCheck( 0 ),
标签( 1 ),
列名称开始( 4 ),
第一个命名列( 1 ),
数据启动( 5 ),
要阅读的行(“全部”),
年份规则(“20xx”)
)
(英文):
dtUnits << 选择其中(row()>1);
dtUnits << 删除行;
colNames = dt << 获取列名(字符串,数字);
对于每个({col},colNames,
单位 = 列(dtUnits,col)[1];
如果缺失(单位)==0,
单位 = 替换(单位,“(”,“”,“)”,“”);
Eval( Eval Expr( Column( dt, col ) << 设置属性( "units", Expr( unit ) ) ) );
(英文):
(英文):
关闭(dtUnits,nosave);