我正在处理相对较大(30行)的文本块。以下是摘录:
PID|1||06225401^^^PA0^MR||PATIENT^FAKE R|||F
PV1|1|I|||||025631^DoctorZ^^^^^^^PA0^^^^DRH|DRH||||...
ORC|RE||CYT-09-06645^AP||||||200912110333|INTERFACE07
OBR|1||CYT09-06645|8104^^L|||20090602|||||||200906030000[conditio...
OBX|1|TX|8104|1|SOURCE OF SPECIMEN:[source]||||||F|||200912110333|CYT ...
我目前有一个脚本,删除非法字符或术语。这里有一个例子。在
infile = open(thisFile,'r')
m = infile.read()
#remove junk headers
m = m.replace("4þPATHþ", "")
m = m.replace("10þALLþ", "")
我的目标是修改这个脚本,这样我就可以在其中一个字段的末尾添加4位数字。具体地说,OBR行中的日期字段(“20090602”)。完成的脚本将能够处理任何遵循相同格式的文件。用我当前处理文件输入的方式,这是可能的还是必须使用一些不同的逻辑?在
你可能会发现这里的答案很有帮助。在
Iterative find/replace from a list of tuples in Python
这是一个大纲(未经测试)。。。基本上你一次只做一行
上面假设您是按行类型(例如:“OBR”)和列索引(例如:7)选择fix-up目标。如果只有几个这样的目标,只需添加更多类似的fix语句。如果有多个目标,可以这样指定:
^{pr2}$修复代码如下:
在任何情况下,您都可能希望在更改数据[col_index]之前添加代码以检查数据[col峎u index]是否真的是YYYYMMDD格式的日期。在
以上地址都没有删除不需要的头,因为您没有显示示例数据。我想把你的替换应用到每一行(如果替换后只有空格,就避免写这行)就可以了。在
相关问题 更多 >
编程相关推荐