如何在Python中分批抓出首尾有固定字符串,但中间内容都不同的档案,并储存在Excel内不同的工作表中?

例如我有这样一块内容,这块内容会重复出现很多次,都存在一个CAP.txt档案内:

$ add on: Beam Spot - BEAMSPOT01
$ data: MeasuredSpotFluenceX
$
%VERSION 02
%DATE 30-08-2021
%BMTY PRO
%TYPE MeasuredSpotFluenceX
%ENERGY 070.00
%NET 000.00
%ZPOS -189.00
<-149.0 +000.0 +000.0 +000.000>
<-148.5 +000.0 +000.0 +000.000>
<-148.0 +000.0 +000.0 +000.000>
$ENOM
$STOM

其中前三行和后两行有$符号的,是每一块的首尾都不会改变的内容。
请问有什么指令能够读取首尾字符串以内的内容,并且重复读取呢?以及有什么指令可以每读取一次就存在一个工作表中,最后汇出成一个Excel档案呢?
求指点!

利用正则表达式提取字符,可参考以下代码:


import re
a = '''
$ add on: Beam Spot - BEAMSPOT01
$ data: MeasuredSpotFluenceX
$
%VERSION 02
%DATE 30-08-2021
%BMTY PRO
%TYPE MeasuredSpotFluenceX
%ENERGY 070.00
%NET 000.00
%ZPOS -189.00
<-149.0 +000.0 +000.0 +000.000>
<-148.5 +000.0 +000.0 +000.000>
<-148.0 +000.0 +000.0 +000.000>
$ENOM
$STOM
'''

out = re.findall(r'(?<=\$ add on: Beam Spot - BEAMSPOT01\s\$ data: MeasuredSpotFluenceX\s\$\s)(?:.*\s)*(?=\$ENOM\s\$STOM)',a)
print(out)
for i in out:
    print(i)

img

保存到excel工作表中,参考 python 读取txt文件,并保存到excel文件中_听霄的博客-CSDN博客_python读取txt存为excel import linecacheimport openpyxlfilename = r"需要打开的.txt文件"myfile = open(filename)lines = len(myfile.readlines())workbook = openpyxl.Workbook()sheet = workbook.activefor i in range(lines): text=linecache.getline(filename,i+1) print(i+1,text) https://blog.csdn.net/weixin_47411110/article/details/116268307?spm=1001.2014.3001.5502