zoukankan      html  css  js  c++  java
  • trcd_extract_EDCD_new

      1 # -*- coding:utf-8 -*-
      2 import re
      3 
      4 
      5 '''
      6 适应新版本
      7 '''
      8 
      9 
     10 year='17A'#用户自定义
     11 ss='./data/'#根目录
     12 filename = ss+'EDCD%s.txt'%year#输入文件名
     13 
     14 
     15 
     16 
     17 def trcd_nonote():
     18 
     19 
     20     p1 = r"^s{4}(?:X|W)s{2}(Cddd)s.+
    "
     21     p2 = r"^s{4}(?:X|W)s{2}Cddds(.+)
    "
     22     p3 = r"^s{7}Desc:s(.+.)
    "
     23     p4 = r"^s{7}Desc:s(.+[^.])
    "
     24     p5 = r"^s{13}(.+[^.])
    "
     25     p6 = r"^s{13}(.+.)
    "
     26     pattern1 = re.compile(p1)
     27     pattern2 = re.compile(p2)
     28     pattern3 = re.compile(p3)
     29     pattern4 = re.compile(p4)
     30     pattern5 = re.compile(p5)
     31     pattern6 = re.compile(p6)
     32     fr = open(filename)
     33     temp = ();
     34     flag = 0
     35     for line in fr.readlines():
     36         matcher1 = re.findall(pattern1,line)
     37         matcher2 = re.findall(pattern2,line)
     38         matcher3 = re.findall(pattern3,line)
     39         matcher4 = re.findall(pattern4,line)
     40         matcher5 = re.findall(pattern5,line)
     41         matcher6 = re.findall(pattern6,line)
     42         #print matcher
     43         w2 = open(ss+'trcd_nonote%s.txt'%year,'a')#a代表追加 w代表重写
     44         if matcher1:
     45             flag = 1
     46             w2.write("
    ")
     47             for j in matcher1:
     48                 for k in j:
     49                     w2.write(k)
     50                 #for k in g:
     51                     #w2.write(k)
     52             #continue;
     53         if ((matcher2!=[])and(flag ==1)):
     54             flag = 2
     55             #print type(tup1)
     56             #print tup1
     57             #flag = 2
     58             w2.write(",")
     59             for j in matcher2:
     60                 for k in j:
     61                     w2.write(k)
     62         if ((matcher3!=[])and(flag ==2)):
     63             flag = 3
     64             w2.write(","")
     65             for j in matcher3:
     66                 for k in j:
     67                     w2.write(k)
     68             w2.write(""")
     69         if (matcher4!=[]):
     70             w2.write(","")
     71             for j in matcher4:
     72                 for k in j:
     73                     w2.write(k)
     74             flag = 4
     75         if ((matcher5!=[])and(flag ==4)):
     76             flag = 5
     77             w2.write(" ")
     78             for j in matcher5:
     79                 for k in j:
     80                     w2.write(k)
     81         if ((matcher6!=[])and(flag ==4 or 5)):
     82             flag = 6
     83             w2.write(" ")
     84             for j in matcher6:
     85                 for k in j:
     86                     w2.write(k)
     87             w2.write(""")
     88     w2.close( )
     89 
     90 def trcd_note():
     91 
     92     p1 = r"^(?:s{7}|Xs{6}|Ws{6})([A-Z][0-9]{3})s[A-Z].+$"#匹配1001
     93     p2 = r"^s{7}Note:s
    "#Note
     94     p3= r"^s{13}([^ ].+)
    "#Note内容
     95     p4= r"^(?:-|컴)+
    "
     96     pattern1 = re.compile(p1)
     97     pattern2 = re.compile(p2)
     98     pattern3 = re.compile(p3)
     99     pattern4 = re.compile(p4)
    100 
    101 
    102     fr = open(filename)
    103     w2 = open(ss+'trcd_note%s.txt'%year,'a')#a代表追加 w代表重写
    104     # temp = ();
    105     flag = 0
    106     flag1=0
    107     for line in fr.readlines():
    108         matcher1 = re.findall(pattern1,line)
    109         matcher2 = re.findall(pattern2,line)
    110         matcher3 = re.findall(pattern3,line)
    111         matcher4 = re.findall(pattern4,line)
    112 
    113        
    114         #print matcher
    115 
    116         if matcher1!=[]:
    117             flag = 1
    118             w2.write("
    ")
    119             # for j in matcher1:
    120                 
    121             #     w2.write(j)
    122 
    123         if ((matcher2!=[])and(flag == 1)):
    124             flag = 2
    125             flag1=1
    126             # w2.write(",")
    127         if flag1==1:
    128             if ((matcher3!=[])and(flag ==2 or 3)):
    129                 flag = 3
    130                 w2.write(" ")
    131                 for j in matcher3:
    132                     
    133                     w2.write(j)
    134             # w2.write(")
    135             if ((matcher4!=[])and(flag == 3)):
    136                 flag=0
    137                 flag1=0
    138     w2.write("
    ")
    139     w2.close( )
    140     fr.close()
    141 
    142 def join():
    143 
    144 
    145 
    146     f1= open(ss+'trcd_note%s.txt'%year)
    147     f2 =open(ss+'trcd_nonote%s.txt'%year) 
    148 
    149     list_note=[]
    150     for line1 in f1:
    151         # print(line1)
    152         if line1.isspace():
    153             list_note.append('')
    154         else:
    155             list_note.append(line1)
    156          
    157     f1.close()
    158 
    159     # print(list_note)
    160     f2_w= open(ss+'trcd%s.csv'%year,'a')  
    161     # for i in range(len(list_note)):
    162     i=0
    163         # f2_r = open(ss+'/new/%s_w.txt'%list_tag[i])
    164     for line2 in f2:
    165 
    166         str11="%s,"%s"
    "%(line2.strip('
    '),list_note[i].strip('
    '))
    167         i=i+1
    168         # print(i)
    169         # print(str11)
    170         f2_w.write(str11)
    171 
    172 
    173     f2_w.close() 
    174     f2.close()
    175 if __name__ == '__main__':
    176     trcd_nonote()
    177     trcd_note()
    178     join()
  • 相关阅读:
    CSS学习笔记07 盒子模型
    [Android]AndFix使用说明
    [Android]自定义控件LoadMoreRecyclerView
    [算法]Plus One
    [Android]android Service后台防杀
    [Android]android studio预览视图时报错
    [算法]删除无序单链表中值重复出现的节点
    [算法] 将单链表的每K个节点之间逆序
    [Android]热修复框架AndFix测试说明
    [算法]单链表的选择排序
  • 原文地址:https://www.cnblogs.com/smuxiaolei/p/7427666.html
Copyright © 2011-2022 走看看