繁体   English   中英

拆分字符串并在运行列表中追加部分[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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM