不确定多行构成一条单位的提取
1. 思路
不确定多行构成一条单位的提取,需从以下两点来思考:
1、 从不确定多行中,按规律找出区分每个单位的方法
2、 把区分后的数据构成一条单位并提取
不同数据的规律可能不一样,但总是要有规律才能区分每个单位。
2. 举例
现有文本文件 info.txt,部分内容如下:
Abbrucharbeiten
ATR Armbruster
Werkstr. 28
78727 Oberndorf
Tel. 0175 7441784
Fax 07423 6280
Abbrucharbeiten
Jensen & Sohn, Karl
Schallenberg 6A
25587 Münsterdorf
Tel. 04821 82538
Fax 04821 83381
Abbrucharbeiten
Kiwitt, R.
Auf der Heide 54
48282 Emsdetten
Tel. 02572 88559
Tel. 0172 7624359
Abbrucharbeiten, Sand und Kies, Transporte, Kiesgruben, Erdbau
Josef Grabmeier GmbH
Reitgesing 1
85560 Ebersberg
Tel. 08092 24701-0
Fax 08092 24701-24
这是 4 个联系方式信息,其中每个联系方式信息的前 4 行分别是部门、公司名称、地址、邮编,第 5 行开始为联系方式,可能是电话或者传真,数量可能为两个或更多。现需要按数据的实际内容,将文本文件的信息转为 Excel,格式为:
Branche: Name: Address: Place: contact1: contact2:
1st row 2nd row 3rd row 4th row 5th row 6th row.....
在 SPL 中编写脚本:
A |
|
1 |
=file("info.txt").import@i() |
2 |
=A1.group@o(left(~,3)=="Tel" || left(~,3)=="Fax") |
3 |
=A2.step(2,2) |
4 |
=A2.step(2,1).((~|A3(#)).concat@cq()) |
5 |
=file("info.csv").export(A4) |
A1 读取 info.txt 数据
A2 将电话、传真信息与其他信息分组
A3 取分组结果的偶数行
A4 合并奇、偶行数据作为一条记录,每条记录用逗号分隔,拼成字符串(奇数行是其他信息,偶数行是电话、传真信息)
A5 结果输出到 info.csv 中
英文已更新