如何将有规则的文本转化成 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 |