2019-12-25

'''

import re
import os
import sys
import csv
import copy

1.读取文件

2.正则匹配

3.提取信息并输出到CSV文件

def read_file(path):
data_list = []
data_unit ={
'num' : 'None',
'id' : 'None',
'aid' : 'None',
'time' : 'None',
'time_source' : 'None',
}

file = open(path,'r')
file_data = file.readlines()
file_data = [index.strip() for index in file_data if index != '']
# print(file_data)
for index in range(0,len(file_data)):
    # find_num = re.findall(r'(.*)',file_data[index],re.I)
    # find_id = re.findall(r' session id=(.*?)\)',file_data[index],re.I)
    ###########################################
    str_time = "2019-12-11"
    find_time = re.findall(r'%s (.*)'%(str_time),file_data[index],re.I)
    ###########################################
    if find_time:
        data_unit['time_source'] = find_time[0].split('.')[0]
        temp = find_time[0].split('.')[0].split(':')
        time = int(temp[0])*3600+int(temp[1])*60+int(temp[2])
        print(temp)
        data_unit['time'] = time
        for jndex in range(index,index+27):
            print(jndex)
            # print(file_data[jndex])
            find_id  = re.findall(r' session id=(.*?)\)',file_data[jndex],re.I)
            find_aid = re.findall(r'Assigned Session ID: (\d*)',file_data[jndex],re.I)
            if find_id:
                print(find_id[0])
                data_unit['id'] = find_id[0]
            if find_aid:
                print(find_aid)
                data_unit['aid'] = find_aid[0]
        data_list.append(copy.deepcopy(data_unit))
file.close
print(data_list)
print('=============')
return data_list

if name == 'main':
###########################################
path = r'D:\python_PRJ\resend\xin\5.txt'
###########################################
data_list = read_file(path)
# mirror_list = copy.deepcopy()

cur_path = os.path.abspath('.') #获取当前工作目录路径
csv_path = cur_path + '\\' +'Res'+'\\'+'Res.csv'
if os.path.exists(csv_path):
    os.remove(csv_path)
csv_file = open(csv_path,'a',newline='')
# writer = csv.writer(csv_file)
writer = csv.writer(csv_file,dialect='excel')
writer.writerow(['ID','参考时间','相差2秒','Assigned Session ID'])

for index_1 in data_list[::-1]:
    temp_list = []
    temp_list.append(copy.deepcopy(index_1))
    # 找到所有session id相同的
    for index_2 in data_list[::-1]:
        if index_2['id'] == temp_list[0]['id']:
            temp_list.append(copy.deepcopy(index_2))
            data_list.remove(index_2)

    if len(temp_list) > 1:
        temp_list.remove(temp_list[1])
        temp_list.reverse()
        print(temp_list)
        for index_3 in range(0,len(temp_list)):
            for index_4 in range(index_3+1,len(temp_list)):
                if temp_list[index_4]['time'] == temp_list[index_3]['time']+2 and  temp_list[index_4]['aid'] == temp_list[index_3]['aid']:
                # if temp_list[index_4]['time'] > temp_list[index_3]['time']+1 and temp_list[index_4]['time'] <= temp_list[index_3]['time']+2:
                    row = ['ID: '+temp_list[index_4]['id'],temp_list[index_3]['time_source'],temp_list[index_4]['time_source'],temp_list[index_4]['aid']]
                    writer.writerow(row)
        temp_list = []
csv_file.close()

'''

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容