如何在不同的行集之间插入新行?

How to insert a new line between different set of lines?

我有一组不同的行,如下所示:

L341IQ345S.W99990001;O4;77;1;3.7;2.9;4.3;-6.5;1;0
L341IQ345S.W99990001;O4;77;9;3.7;2.8;3.9;-5.8;1;0
L341IQ345S.W99990001;O4;77;16;3.4;2.8;3.7;-5.5;1;0
L341IQ345S.W99990002;O4;74;1;3.5;2.9;4.1;-6.3;1;0
L341IQ345S.W99990002;O4;74;8;3.7;3.3;2.7;-5.7;1;0
L341IQ345S.W99990003;O2;85;4;3.6;3.0;3.2;-5.7;0;1
L341IQ345S.W99990003;O2;85;6;3.6;3.5;3.0;-5.6;0;1
L341IQ345S.W99990003;O4;85;9;3.4;2.8;3.2;-5.4;1;0
L341IQ345S.W99990003;O4;85;10;3.4;2.7;3.9;-5.4;1;0
L341IQ345S.W99990004;O2;83;5;3.6;3.5;2.7;-5.1;0;1
L341IQ345S.W99990004;O4;83;22;3.1;2.3;3.2;-4.7;1;0

我想在每组新行之前插入一个换行符,如下所示:

L341IQ345S.W99990001;O4;77;1;3.7;2.9;4.3;-6.5;1;0
L341IQ345S.W99990001;O4;77;9;3.7;2.8;3.9;-5.8;1;0
L341IQ345S.W99990001;O4;77;16;3.4;2.8;3.7;-5.5;1;0

L341IQ345S.W99990002;O4;74;1;3.5;2.9;4.1;-6.3;1;0
L341IQ345S.W99990002;O4;74;8;3.7;3.3;2.7;-5.7;1;0

L341IQ345S.W99990003;O2;85;4;3.6;3.0;3.2;-5.7;0;1
L341IQ345S.W99990003;O2;85;6;3.6;3.5;3.0;-5.6;0;1
L341IQ345S.W99990003;O4;85;9;3.4;2.8;3.2;-5.4;1;0
L341IQ345S.W99990003;O4;85;10;3.4;2.7;3.9;-5.4;1;0

L341IQ345S.W99990004;O2;83;5;3.6;3.5;2.7;-5.1;0;1
L341IQ345S.W99990004;O4;83;22;3.1;2.3;3.2;-4.7;1;0

提前致谢

您至少应该上传一些您编写的代码,或者更具体地说明您想要什么。据我所知,您似乎想根据第二个 post(. 和第一个 ; 之间的部分)拆分它,因此我将保存该部分,然后将其与下一行进行比较。如果该行不匹配,只需将换行符 '\n' 添加到字符串,获取新行的新部分,然后重复。

拆分行,遍历每一行,标识应作为分组依据的文本,如果按文本更改分组,则添加新行:

text = "L341IQ345S.W99990001;O4;77;1;3.7;2.9;4.3;-6.5;1;0\n"+"L341IQ345S.W99990001;O4;77;9;3.7;2.8;3.9;-5.8;1;0\n"+"L341IQ345S.W99990001;O4;77;16;3.4;2.8;3.7;-5.5;1;0\n"+"L341IQ345S.W99990002;O4;74;1;3.5;2.9;4.1;-6.3;1;0\n"+"L341IQ345S.W99990002;O4;74;8;3.7;3.3;2.7;-5.7;1;0\n"+"L341IQ345S.W99990003;O2;85;4;3.6;3.0;3.2;-5.7;0;1\n"+"L341IQ345S.W99990003;O2;85;6;3.6;3.5;3.0;-5.6;0;1\n"+"L341IQ345S.W99990003;O4;85;9;3.4;2.8;3.2;-5.4;1;0\n"+"L341IQ345S.W99990003;O4;85;10;3.4;2.7;3.9;-5.4;1;0\n"+"L341IQ345S.W99990004;O2;83;5;3.6;3.5;2.7;-5.1;0;1\n"+"L341IQ345S.W99990004;O4;83;22;3.1;2.3;3.2;-4.7;1;0\n"

print(text)

iter = text.splitlines(False)
lastid = ""
for line in iter:
    id = line[line.find('.')+1:line.find(';')]
    if id != "" and lastid != id:
      print("")
    print(line)
    lastid = id