【发布时间】:2015-09-21 22:54:56
【问题描述】:
您好,这个文本文件将信息分组在字符“*******************************”之间,例如:
*******************************
15674B 2000
#12 DIVERSION
800.000
COORDINATES
0
FLOW DIRECTION
0
PROTECT DATA
0
DATUM
0.00
RADIUS TYPE
2
DIVIDE X-Section
0
SECTION ID
INTERPOLATED
0
ANGLE
0.00 0
RESISTANCE NUMBERS
0 0 1.000 1.000 1.000 1.000 1.000
PROFILE 8
-15.000 12.000 1.000 <#0> 0 0.000 0
0.000 10.960 1.000 <#1> 0 0.000 0
0.600 10.820 1.000 <#0> 0 0.000 0
0.700 10.410 1.000 <#0> 0 0.000 0
1.540 9.990 1.000 <#0> 0 0.000 0
4.040 9.980 1.000 <#2> 0 0.000 0
6.200 11.160 1.000 <#4> 0 0.000 0
15.000 12.000 1.000 <#0> 0 0.000 0
LEVEL PARAMS
0 0 0.000 0 0.000 20
*******************************
15674B 2000
#12 DIVERSION
900.000
我要做的是提取字符“****************************”下面的第二行和第三行(#12 DIVERSION,800.00) ********”以及第 24 -32 行的 PROFILE 信息,并将它们保存到 csv 文件中。
我知道我可以使用 python 来读取文件 eg:
with open ("results.txt","r") as myResults:
readFile = myResults.readlines()
但我的问题是我不知道如何识别字符之间的信息组“****************************** *”,然后提取某些行。
任何帮助将不胜感激。
【问题讨论】:
-
您可以使用
myResults.read().split('*******************************')来获取包含在星线之间的块。