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()
  • 相关阅读:
    使用golang访问kubebernetes
    使用 Rancher 管理现有 Kubernetes 集群
    Running powershell scripts during nuget package installation and removal
    How to Create, Use, and Debug .NET application Crash Dumps in 2019
    寻找写代码感觉(一)之使用 Spring Boot 快速搭建项目
    Selenium+Java之解决org.openqa.selenium.InvalidArgumentException: invalid argument报错问题
    Selenium环境搭建
    关于Xpath定位方法知道这些基本够用
    Web自动化之浏览器启动
    【翻译】编写代码注释的最佳实践
  • 原文地址:https://www.cnblogs.com/smuxiaolei/p/7427666.html
Copyright © 2011-2022 走看看