擅长:python、mysql、java
<p>这是一个大纲(未经测试)。。。基本上你一次只做一行</p>
<pre><code>for line in infile:
data = line.rstrip("\n").split("|")
kind = data[0]
# start of changes
if kind == "OBR":
data[7] += "0000" # check that 7 is correct!
# end of changes
outrecord = "|".join(data)
outfile.write(outrecord + "\n")
</code></pre>
<p>上面假设您是按行类型(例如:“OBR”)和列索引(例如:7)选择fix-up目标。如果只有几个这样的目标,只需添加更多类似的fix语句。如果有多个目标,可以这样指定:</p>
^{pr2}$
<p>修复代码如下:</p>
<pre><code>if kind in fix_targets:
for col_index in fix_targets[kind]:
data[col_index] += "0000"
</code></pre>
<p>在任何情况下,您都可能希望在更改数据[col_index]之前添加代码以检查数据[col峎u index]是否真的是YYYYMMDD格式的日期。在</p>
<p>以上地址都没有删除不需要的头,因为您没有显示示例数据。我想把你的替换应用到每一行(如果替换后只有空格,就避免写这行)就可以了。在</p>