- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
在JSL中使用open()导入文本文件时如何排除页眉和页脚?
我的数据在数据开头有几个标题行,在数据结尾有页脚。
页眉和页脚文本均以标识符开头! 。
(页眉、页脚和中间数据的行数各不相同)
具有任意数据的示例(以 .txt 文件形式提供)
!标题第一行
!标题第二行
参数 LSL USL 单位
电压0.1-0.5V
电容 0.3 0.7 pF
电阻0.5-9欧姆
! 页脚第二行
! 页脚第三行
! 页脚第三行
我可以使用 open() 以便在导入文本格式数据时排除页眉和页脚数据吗?
我可以使用 open() 导入数据,保留页眉和页脚文本(例如导入表格) dt )。
我还想知道如何提取(到一个新表dt_new )数据,不包括以标识符开头的页眉和页脚,例如!.
最后,我想将页眉和页脚数据保存在dt在一个单独的表中,说dt_hf。 这个怎么做?
谢谢。
This post originally written in English (US) has been computer translated for you. When you reply, it will also be translated back to English (US).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
回复:在 JSL 中使用 open() 导入文本文件时如何排除页眉和页脚?
单程:
filename = Save Text File(
"$temp/deleteme.txt",
"\[! header first line
! header second line
Parameter LSL USL Units
voltage 0.1 0.5 V
Capacitance 0.3 0.7 pF
Resistance 0.5 9 Ohms
! Footer second line
! Footer third line
! Footer third line]\"
);
lines = Words( Load Text File( filename ), "\!n\!r" );
metadata = {};
data = {};
For( i = 1, i <= N Items( lines ), i += 1,
line = lines[i];
If( Starts With( line, "!" ),
Insert Into( metadata, line ),
Insert Into( data, line )
);
);
datafilename = Save Text File( "$temp\data.txt", Concat Items( data, "\!n" ) );
metafilename = Save Text File( "$temp\metadata.txt", Concat Items( metadata, "\!n" ) );
dtData = Open( datafilename, Import Settings( End Of Field( Tab, Spaces, Space ) ) );
dtMetadata = Open( metafilename, Import Settings( Labels( 0 ) ) );
meta data separated from data
This post originally written in English (US) has been computer translated for you. When you reply, it will also be translated back to English (US).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
回复:在 JSL 中使用 open() 导入文本文件时如何排除页眉和页脚?
谢谢@Craige_Hales 。
如果我的数据位于数据表中而不是文本文件中,需要进行哪些更改?
(我加载文本文件并将其命名为 say dt )。
现在我需要将页眉和页脚与dt。
另外,如何处理页眉和页脚条目之间的空行,例如之间的空白页脚第二行和页脚第三行并且不将它们包括在数据?
This post originally written in English (US) has been computer translated for you. When you reply, it will also be translated back to English (US).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
回复:在 JSL 中使用 open() 导入文本文件时如何排除页眉和页脚?
这是你的数据表的样子吗?如果没有,您能提供样本数据表吗?
This post originally written in English (US) has been computer translated for you. When you reply, it will also be translated back to English (US).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
回复:在 JSL 中使用 open() 导入文本文件时如何排除页眉和页脚?
@tx尼尔森。 下面是它的样子。 我想做以下事情
1. 将页眉和页脚文本分离到一个列表中。
2. 将页眉和页脚之间除空行之外的数据分开放入数据表中。
3. 计算数据表中空条目的数量(它们根据加载的文本文件而变化)
谢谢。
This post originally written in English (US) has been computer translated for you. When you reply, it will also be translated back to English (US).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
回复:在 JSL 中使用 open() 导入文本文件时如何排除页眉和页脚?
这是我认为您需要的一个简单示例。
Names Default To Here( 1 );
dt = Current Data Table();
headFootList = {};
col1Name = Column( 1 ) << get name;
Eval(
Parse(
Eval Insert(
"For Each Row( If( Contains( :^col1Name^, \!"!\!" ) == 1, Insert Into( headFootList, :^col1Name^ ) ) )"
)
)
);
Eval(
Parse(
Eval Insert(
"emptyCount = N Rows( dt << get rows where( :^col1Name^ == \!"\!" ) )"
)
)
);
Eval(
Parse(
Eval Insert(
"dt << select where( contains(:^col1Name^,\!"!\!")==1 | :^col1Name^ == \!"\!")"
)
)
);
Try( dt << delete rows );
dtHeadFoot = New Table( "Headers and Footers",
New Column( "Headers and Footers", character, set values( headFootList ) )
);
New Window( "Count of Empty Rows",
<
This post originally written in English (US) has been computer translated for you. When you reply, it will also be translated back to English (US).