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

Python 如何在不同的行集合之间插入新行?,python,newline,Python,Newline,我有一组不同的行,如下所示: 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

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

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
我想在每一组新行之前插入一个新行,如下所示:

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

提前感谢您

您至少应该上传一些您编写的代码,或者更具体地说明您想要什么。据我所知,您似乎希望根据第二篇文章(在.和第一篇之间的部分)对其进行拆分,因此我将保存该部分,然后将其与下一行进行比较。如果该行不匹配,只需在字符串中添加一个换行“\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

很抱歉,下次我会尝试把我的尝试,这里没有时间了。任何人都可以通过谷歌搜索来这里。因此,你应该继续关注你过去帖子的质量。我邀请你编辑你的问题,这样它可以帮助其他读者。非常感谢你,下次我将试着把我的attempts@Coder应使用不同的变量名
iter
是一个内置函数名。