系统生成的日志以日期和报文展现,用正则匹配解析出来,日志长这样
先发一个参考代码
# -*- coding:utf-8 -*-
import re
def parseDate(l):
patternForTime = r'(\d{4}[\D]\d{1,2}[\D]\d{1,2}[\D]?)'
for i in l:
m = re.search(patternForTime, i)
if m:
print(m.group(1))
if __name__ == '__main__':
l = ['永康市雅致医疗器械有限公司', '郑云燕', 'II类:6863-16-定制式义齿', '原料药', '津20170006', '2022/7/24', \
'2017/07/25', '2017-07-25', '2017年07月25', '2017年07月25日']
parseDate(l)
自己参照写的
# -*- coding:utf-8 -*-
import re
from collections import Counter
import numpy as np
import matplotlib.pyplot as plt
l = []
patternForTime = r'(\d{4}[\D]\d{1,2}[\D]\d{1,2}[\D]?\d{2})'
for j in range(1,30):
if j <10:
path = 'C:\\Users\\FCX\\Desktop\\0OA\\2020\\2020\\1\\trace_Daily_2020-01-0'+str(j)+'.log'
else:
path = 'C:\\Users\\FCX\\Desktop\\0OA\\2020\\2020\\1\\trace_Daily_2020-01-'+str(j)+'.log'
f = open(path,encoding = 'utf-8')
next(f)
for line_str in f:
l.append(re.search(patternForTime, line_str).group(0))
a = Counter(lists)
b = list(a.keys())
c = list(a.values())
print(b,c)
# del list
# x = np.arange(b)
# y = np.arange(c)
# x = np.arange(list(b))
# y = np.arange(list(c))
# x
# y
plt.title("Feb. Error Records")
plt.xlabel("Time")
plt.ylabel("Counts")
plt.plot(b,c)
plt.show()
输出: