오늘의 마지막 문제1. 아래의 코드로 구현해서 만든 df 데이터 프레임에서 에러 메세지에 Temporary 또는 logfile 또는 CLOSE 를 포함하는 에러번호와 에러 메세지를 출력하시오
코드 :
#자습시간 문제:
#오늘의 마지막 문제1. 아래의 코드로 구현해서 만든 df 데이터 프레임에서 에러 메세지에 Temporary 또는 logfile 또는 CLOSE 를 포함하는 에러번호와 에러 메세지를 출력하시오
import os
from pathlib import Path
file_path=Path(r'C:\data\alert_log.txt')
content = file_path.read_text()
result1=[]
result2=[]
for i in content.split('\n'):
if i.startswith('ORA-'):
e_num = i[0:9].strip(' s').strip() # 에러번호 추출
idx = i.find(' ') # 에러 메세지가 시작되는 자리번호 추출
result1.append(e_num)
result2.append(i[ idx+1 : ])
import pandas as pd
df = pd.DataFrame( {'에러번호' : result1, '에러메세지' : result2 })
df.loc[df['에러메세지'].str.contains('Temporary|logfile|CLOSE'),['에러번호','에러메세지']]
오늘의 마지막 문제2. 위의 코드를 구현해서 만든 df 데이터 프레임에서 에러 메세지가 Temporary 또는 logfile 또는 CLOSE 를 포함하는 에러번호를 출력하고 그 에러번호별 건수를 출력하는데 그 건수가 높은것부터 출력하시오
코드 :
#오늘의 마지막 문제2. 위의 코드를 구현해서 만든 df 데이터 프레임에서 에러 메세지가 Temporary 또는 logfile 또는 CLOSE 를 포함하는 에러번호를 출력하고
#그 에러번호별 건수를 출력하는데 그 건수가 높은것부터 출력하시오
import os
from pathlib import Path
file_path=Path(r'C:\data\alert_log.txt')
content = file_path.read_text()
result1=[]
result2=[]
for i in content.split('\n'):
if i.startswith('ORA-'):
e_num = i[0:9].strip(' s').strip() # 에러번호 추출
idx = i.find(' ') # 에러 메세지가 시작되는 자리번호 추출
result1.append(e_num)
result2.append(i[ idx+1 : ])
import pandas as pd
df = pd.DataFrame( {'에러번호' : result1, '에러메세지' : result2 })
result = df.loc[df['에러메세지'].str.contains('Temporary|logfile|CLOSE'),['에러번호','에러메세지']]
result['에러번호'].value_counts().reset_index().sort_values(by='count', ascending = False)
오늘의 마지막 문제3. 문제2번에서 출력한 결과인 에러번호와 그 건수로 막대그래프를 그리시오.
코드 :
#오늘의 마지막 문제3. 문제2번에서 출력한 결과인 에러번호와 그 건수로 막대그래프를 그리시오
import os
from pathlib import Path
file_path=Path(r'C:\data\alert_log.txt')
content = file_path.read_text()
result1=[]
result2=[]
for i in content.split('\n'):
if i.startswith('ORA-'):
e_num = i[0:9].strip(' s').strip() # 에러번호 추출
idx = i.find(' ') # 에러 메세지가 시작되는 자리번호 추출
result1.append(e_num)
result2.append(i[ idx+1 : ])
import pandas as pd
df = pd.DataFrame( {'에러번호' : result1, '에러메세지' : result2 })
result = df.loc[df['에러메세지'].str.contains('Temporary|logfile|CLOSE'),['에러번호','에러메세지']]
result2 = result['에러번호'].value_counts().reset_index().sort_values(by='count', ascending = False)
import matplotlib.pyplot as plt # 그래프 전문 파이썬 모듈
import seaborn as sns
plt.rc('font', family='Malgun Gothic') # 한글 폰트를 지정
plt.figure( figsize=(15,4)) #(가로,세로)
sns.barplot(x='에러번호', y='count', data=result2, color='blue')
plt.title('마지막 문제3. 오라클 에러번호 순위') # 그래프 제목