不确定多行构成一条单位的提取

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 中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值