如何将有规则的文本转化成 Excel

现有文本文件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.....

 

借助集算器可以很方便地完成件事。
集算器安装包可去润乾网站载集算器职场版,运行需要一个授,免版本就用。

1.     在集算器中编写脚本txt2csv.dfx:


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 中

2.     执行脚本,info.csv 中的内容为:

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