CAFE

1. 파이썬 수업

Re:오늘의 마지막 문제. 자동화 스크립트 2번을 아래의 막대 그래프를 출력하는것으로 변경하시오 !

작성자21기_김보민|작성시간25.06.26|조회수14 목록 댓글 0

# 자동화 스크립트 2번을 아래의 막대 그래프를 출력하는 것으로 변경

from collections import Counter

import pandas as pd

import matplotlib.pyplot as plt

 

oracle_alert = open("C:\\data\\alert_log.txt", encoding='utf8')

oracle_text=oracle_alert.read()

lines = oracle_text.split()

error_list=[]

 

while True:

    print("😀=========================================😀")

    print('dba 작업을 편하게 하기 위한 자동화 스크립트')

    print('😀1. alert log file 뒷부분')

    print('😀2. 오라클 에러 번호 개수 확인')

    print('😀3. 전체 에러 메시지 종류 개수 세기')

    print('😀9. 프로그램 종료')

    print('==========================================')

    num=input('번호를 입력해주세요 : ')

 

    if num == '1':

        print(oracle_text[-700:])

        break

   

    elif num == '2':

        error_num = input('에러 번호를 말해주세요 ')

        print(oracle_text.count(error_num),'번 발생했습니다.')

        for i in lines:

            if 'ORA-' in i:

                error_list.append(i.strip(':'))

        df_error = pd.DataFrame(list(Counter(error_list).items()), columns=['에러번호', '건수'])

        df_error

 

        df_sort = df_error.loc[df_error.건수 >= 20, : ].sort_values(by='건수', ascending=False)

 

        x = df_sort.loc[ :, ['에러번호']]

        y = df_sort.loc[ : , ['건수']]

 

        plt.rcParams['font.family'] = 'Malgun Gothic'   # 한글 안깨지게 하는 코드

        plt.bar(x['에러번호'], y['건수'], color='lightblue')

        plt.xticks(rotation=45)

        plt.show()

        break

 

    elif num == '3':

        for i in lines:

            if 'ORA-' in i:

                error_list.append(i.strip(':'))

        print(Counter(error_list))

        break

   

    elif num =='9':

        break

 

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼