import re
import pandas as pd
def re_match(key_word, raw_string):
try:
aaa = re.match(key_word, raw_string, flags=0)
if str(aaa)==‘None’:
flag = 0
else:
flag = 1
return flag
except Exception:
return 0
#对CT分类
file1=pd.read_csv(‘头.csv’,names=[“value”],encoding=‘utf-8’)
key1=".?(DR)."
no1=".?(DR升级CT)."
key2=".?(CT|平扫|断层|ct|正位片|放射2|侧斜?位|张口位|正侧?位|正恻位|(三|四)位片|斜位|透视|开口位|正侧双斜片|屈片位|瓦氏|柯瓦?氏|X光摄片|鼻窦拍片|瓦特氏位|体检加项C|C.{0,5}?(头))."
no2=".?(核磁|磁共振|MR|DR|TCD)."
key3=".?(核磁|MR|磁共振|头部血管)."
no3=".?(MRA)"
key4=".?(彩超|彩色.?多(普|谱)勒)."
key5=".?(B超)."
key6=".?(超声|多普勒|经颅多谱勒|颅内多谱勒)."
no6=".?(彩色|彩超|B超|E超)."
key7=".?(E超)."
key8=".?(淋巴)."
key9=".?(热成?像|TMT|热代谢|TTM|MTD|远红外)."
key10=’.?(体检加项.?H).’
key11=’.?(MRA).’
no11=’.?(电耳镜).’
key12=’.?(耳鼻喉).’
no12=’.?(镜|喉镜).’
key13=’.?(头部弥散加权成像|DM).’
key14=’.?(头颅检查).’
no14=".?(核磁|MR|磁共振|头部血管)."
key15=’.?(电耳镜).’
key16=’.?(头部A).*’
jzx=[]
noMatch=[]
key9=".?(评测|评估|测评|检测|分析|风险)."
for l in file1[‘value’]:
flag=“noMatch”
if re_match(key1,l) and
re_match(no1,l)==0:
jzx.append(l+"&&&头颅(DR)")
flag=“1”
if (re_match(key2,l) and \
re_match(no2,l)==0) or \
re_match('.*?(DR升级CT).*',l):
jzx.append(l+"&&&头颅(CT)")
flag="1"
if re_match(key3,l) and \
re_match(no3,l)==0:
jzx.append(l+"&&&头颅(MRI)")
flag="1"
if re_match(key4,l):
jzx.append(l+"&&&头颅(彩超)")
flag="1"
if re_match(key5,l):
jzx.append(l+"&&&头颅(B超)")
flag="1"
if re_match(key6,l) and \
re_match(no6,l)==0:
jzx.append(l+"&&&头颅(超声)")
flag="1"
if re_match(key7,l):
jzx.append(l+"&&&头颅(E超)")
flag="1"
if re_match(key8,l):
jzx.append(l+"&&&头颅(淋巴结检查)")
flag="1"
if re_match(key9,l):
jzx.append(l+"&&&头颅(热成像)")
flag="1"
if re_match(key10,l):
jzx.append(l+"&&&头颅(体检加项H)")
flag="1"
if re_match(key11,l) and \
re_match(no11,l)==0:
jzx.append(l+"&&&头颅(MRA)")
flag="1"
if re_match(key12,l)==1 and \
re_match(no12,l) ==0:
jzx.append(l+"&&&头颅(常规检查)")
flag="1"
if re_match(key13,l):
jzx.append(l+"&&&头颅(DM)")
flag="1"
if re_match(key14,l) and \
re_match(no14,l)==0:
jzx.append(l+"&&&头颅(常规检查)")
flag="1"
if re_match(key15,l):
jzx.append(l+"&&&头颅(电耳镜)")
jzx.append(l+"&&&头颅(常规检查)")
flag="1"
if re_match(key16,l):
jzx.append(l+"&&头部")
jzx.append(l+"&&头部(AAA)")
flag="1"
if flag=="noMatch":
noMatch.append(l)
print(l)
df2 = pd.DataFrame(data = jzx)
df2.to_csv(‘头颅ok.csv’)
df3 = pd.DataFrame(data = noMatch)
df3.to_csv(‘头颅剩余.csv’)
#细分部位
后