在 运行 列表 [Python] 中拆分字符串并附加部分

Split string and append parts in running list [Python]

我有一个非常长的列表,其中包含相同的模式。这是一个原始示例:

04:50 10 244.685 0 0
05:00 10 244.680 0 0
HBCHa 9990 Seite 762
16.02.16
Hafenpegel 
Pegel müM Var 0 Pegelstand
Datum Zeit Intervall müM Q Art
Sonntag, 31. Dezember 2000 05:10 10 244.679 0 0
05:20 10 244.688 0 0
05:30 10 244.694 0 0
05:40 10 244.688 0 0

如您所见,以 "Sonntag"

开头的字符串中有一行包含测量数据

我的目标是:

04:50 10 244.685 0 0
05:00 10 244.680 0 0
HBCHa 9990 Seite 762
16.02.16
Hafenpegel 
Pegel müM Var 0 Pegelstand
Datum Zeit Intervall müM Q Art
Sonntag, 31. Dezember 2000 
05:10 10 244.679 0 0            !!
05:20 10 244.688 0 0
05:30 10 244.694 0 0
05:40 10 244.688 0 0

我设法将 txt 文件写在一个列表中,这里称为 "data_list_splitted",在整个 txt 文件中捕获这一行,将其拆分并提取带有测量值的部分:

for i in data_list_splitted:

if len(i) >= 40:

    ii = i.split(";")


    txt_line = "%s;%s;%s;%s;%s"%(ii[4],ii[5],ii[6],ii[7],ii[8])

但我无法打破这条线并在 运行 列表中添加测量值!

我觉得应该没有那么难吧? 有任何想法吗? 非常感谢!

您可以创建另一个列表并向其中插入值

new_data_list_splitted = []
for i in data_list_splitted:
  if len(i) >= 40:
    ii = i.split(";")
    txt_line = "%s;%s;%s;%s;%s"%(ii[0],ii[1],ii[2],ii[3],ii[4])
    new_data_list_splitted.append(txt_line)
    txt_line = "%s;%s;%s;%s;%s"%(ii[4],ii[5],ii[6],ii[7],ii[8])
    new_data_list_splitted.append(txt_line)
  else:
    new_data_list_splitted.append(i)

print new_data_list_splitted #this will have a new row for measurement value