zoukankan      html  css  js  c++  java
  • python提取txt信息,处理,输出

    1. 文件路径设定及文件遍历

    import os
    path = 'E:\Python36\testdata'
    os.chdir(path)
    os.listdir()
    for filename in os.listdir():
    	file = open(filename, 'r')
    	for eachline in file.readlines():
    		# process eachline
    

    2. 提取glass ID

    IDlist = []
    	
    file = open('A1770266172.txt', 'r')
    for line in file.readlines():
    	if line.startswith('Process'):
    		ID = line[37: ]
    		IDlist.append(ID)
    			
    print(IDlist)
    

    3. 提取Input/Buffer/Inspection/Printer/UvLevel/Output时间

    for line in file.readlines():
    	if line.startswith('Arrived at Input'):
    		InputIN = line[20:39]
    	elif line.startswith('Departed at Input'):
    		InputOUT = line[18:37]	
    	elif line.startswith('Arrived at Buffer'):
    		BufferSLOT = line[17:18]
    		BufferIN = line[22:41]	
    	elif line.startswith('Departed at Buffer'):
    		BufferOUT = line[20:39]
    	elif line.startswith('Arrived at Inspection'):
    		InspectionIN = line[25: ]	
    	elif line.startswith('Departed at Inspection'):
    		InspectionOUT = line[23:42]
    	elif line.startswith('Arrived at Printer'):
    		PrinterIN = line[22: ]	
    	elif line.startswith('Departed at Printer'):
    		PrinterOUT = line[20:39]
    	elif line.startswith('Arrived at UvLevel'):
    		UVSLOT = line[18:19]
    		UVIN = line[23: ]	
    	elif line.startswith('Departed at UvLevel'):
    		UVOUT = line[20: ]
    	elif line.startswith('Arrived at Output'):
    		OutputIN = line[21: ]	
    	elif line.startswith('Departed at Output'):
    		OutputOUT = line[19:38]
    	
    	else:
    		InputIN = 'NA'
    

    4. 把提取的信息存入文件中

    import csv
    with open('E:\Python36\glass.csv', 'w', newline='') as csvfile:
    	fieldnames1 = ['glass ID', 'input in', 'input out', 'buffer in', 'buffer out', 'aoi in', 'aoi out', 'printer in', 'printer out', 'uv in', 'uv out', 'output in', 'output out', 'buffer slot', 'uv level']
    	writer = csv.DictWriter(csvfile, fieldnames=fieldnames1)
    	writer.writeheader()
    	for item in list_dict:
    		writer.writerow(item)
    

    5. 整合完整代码

    import os
    path = 'E:\Python36\testdata'
    os.chdir(path)
    os.listdir()
    glass = []
    list_dict = []
    
    for filename in os.listdir():
        a=b=c=d=e=f=g=h=i=j=k=l=m= 0   
        file = open(filename, 'r')
        for line in file.readlines():
            if line.startswith('Process'):  
                a = a+1
                if a < 2:
                    ID = line[37: -1]
                    glass.append(ID)
                else:
                    continue
            elif line.startswith('Arrived at Input'):
                b = b+1
                if b < 2:
                    InputIN = line[20:39]
                    glass.append(InputIN)
                else:
                    continue
            elif line.startswith('Departed Input'):
                c = c +1
                if c < 2:
                    InputOUT = line[18:37]
                    glass.append(InputOUT)
                else:
                    continue
            elif line.startswith('Arrived at Buffer'):
                d = d+1
                if d <2:
                    BufferSLOT = line[17:18]
                    glass.append(BufferSLOT)
                    BufferIN = line[22:41]
                    glass.append(BufferIN)
                else:
                    continue
            elif line.startswith('Departed Buffer'):
                e = e+1
                if e<2:
                    BufferOUT = line[20:39]
                    glass.append(BufferOUT)
                else:
                    continue
            elif line.startswith('Arrived at Inspection'):
                f = f+1
                if f <2:
                    InspectionIN = line[25: -1]
                    glass.append(InspectionIN)
                else:
                    continue
            elif line.startswith('Departed Inspection'):
                g = g+1
                if g<2:
                    inspectionOUT = line[23:42]
                    glass.append(inspectionOUT)
                else:
                    continue
            elif line.startswith('Arrived at Printer'):
                h =h+1
                if h<2:
                    PrinterIN = line[22: -1]
                    glass.append(PrinterIN)
                else:
                    continue
            elif line.startswith('Departed Printer'):
                i = i+1
                if i<2:
                    PrinterOUT = line[20:39]
                    glass.append(PrinterOUT)
                else:
                    continue
            elif line.startswith('Arrived at UvLevel'):
                j = j+1
                if j<2:
                    UVSLOT = line[18:19]
                    glass.append(UVSLOT)
                    UVIN = line[23: -1]
                    glass.append(UVIN)
                else:
                    continue
            elif line.startswith('Departed UvLevel'):
                k =k+1
                if k<2:
                    UVOUT = line[21: -1]
                    glass.append(UVOUT)
                else:
                    continue
            elif line.startswith('Arrived at Output'):
                l = l+1
                if l<2:
                    OutputIN = line[21: -1]
                    glass.append(OutputIN)
                else:
                    continue
            elif line.startswith('Departed Output'):
                m = m+1
                if m<2:
                    OutputOUT = line[19:38]
                    glass.append(OutputOUT)
                else:
                    continue
            
        
    
        dic = {'glass ID':ID, 'input in':InputIN, 'input out':InputOUT, 'buffer slot':BufferSLOT, 'buffer in':BufferIN, 'buffer out':BufferOUT, 'aoi in':InspectionIN, 'aoi out':inspectionOUT, 'printer in':PrinterIN, 'printer out':PrinterOUT, 'uv level':UVSLOT, 'uv in':UVIN, 'uv out':UVOUT, 'output in':OutputIN, 'output out':OutputOUT}
        #print(dic)
        list_dict.append(dic)
        
    import csv
    with open('E:\Python36\glass.csv', 'w', newline='') as csvfile:
        fieldnames1 = ['glass ID', 'input in', 'input out', 'buffer in', 'buffer out', 'aoi in', 'aoi out', 'printer in', 'printer out', 'uv in', 'uv out', 'output in', 'output out', 'buffer slot', 'uv level']
        writer = csv.DictWriter(csvfile, fieldnames=fieldnames1)
        writer.writeheader()
        for item in list_dict:
            writer.writerow(item)
    

      

  • 相关阅读:
    “奇葩”控件向后台传数据
    借助cookie实现子网页修改父网页内容遇到的问题:同一个浏览器访问相同页面,会互相影响。 (已解决)
    JS 怎么控制某个div的滚动条滚动到顶部? (已解决)
    怎么在表单提交前检查数据输入。
    table布局, td内部元素溢出边界问题。 (已解决)
    怎么在两个内嵌的子网页之间通信?(已解决)
    关于div的滚动条滚动到底部,内容显示不全的问题。(已解决)
    怎么使用CKEDITOR
    新问题:关于网页中的文本框在手机上受软键盘弹出的影响问题。(已解决)
    Oracle多行查询(函数)
  • 原文地址:https://www.cnblogs.com/wnzhong/p/7499678.html
Copyright © 2011-2022 走看看