删除标记之间的行并插入新行

时间:2018-04-03 21:02:15

标签: python python-3.x

如何删除文本文件中两个已知标记之间的所有行,例如下面示例中的*Plasticity, dependencies=1*Hardening标记,并填充新行数据并不总是相同的行数删除行数。

 3.72e+06,  68.1857, 0.384645,     0.01,     0.01,       1., , 0.644409
 1.91e+07,  66.4193, 0.760787,     0.01,     0.01,       1., , 0.905195
*Plasticity, dependencies=1
 3.72e+06,  68.1857, 0.384645,     0.01,     0.01,       1., , 0.644409
 8.42e+06,  67.7814, 0.484645,     0.01,     0.01,       1., , 0.790209
  1.5e+07,  67.0228, 0.677347,     0.01,     0.01,       1., , 0.880479
 1.91e+07,  66.4193, 0.760787,     0.01,     0.01,       1., , 0.905195
 2.05e+07,  66.1303, 0.794057,     0.01,     0.01,       1., , 0.918807
 2.24e+07,  65.5214,  0.80324,     0.01,     0.01,       1., , 0.922274
*Hardening
 1.5e+07,  67.0228, 0.677347,     0.01,     0.01,       1., , 0.880479
 2.05e+07,  66.1303, 0.794057,     0.01,     0.01,       1., , 0.918807
*Cleaning

例如,我希望之后在两个标签之间插入以下行

 1.67e+07,  67.0228, 0.77347,     0.01,     0.01,       1., , 0.80479
 1.81e+07,  66.4193, 0.70787,     0.01,     0.01,       1., , 0.95195
 6.05e+07,  66.1303, 0.894057,     0.01,     0.01,       1., , 0.98807

我可以在其他答案中看到一些例子,但它们都没有指导我如何在删除所有不需要的行后插入新的行/行。我希望在标签之间做一些行删除,并填写我在这些标签之间的新内容。

1 个答案:

答案 0 :(得分:1)

一种方法是将文件的每一行读入列表。然后找到要删除的第一个列表项的索引以及要删除的最后一个列表项,并使用del[first:last+1]删除它们,然后使用list.insert()放入从first开始的新行。