Commit 4bcbf563 authored by Liky98's avatar Liky98
Browse files

categories 동적 설정으로 변경

parent dc0d2966
......@@ -2,6 +2,7 @@ import os
import pandas as pd
from openpyxl.styles import Font, Alignment
from openpyxl.utils import get_column_letter
def collect_combined_scores(evaluated_dir):
"""
evaluated_dir 내의 모든 combined_scores.xlsx 파일을 검색하여 리스트로 반환합니다.
......@@ -13,6 +14,17 @@ def collect_combined_scores(evaluated_dir):
combined_scores_files.append(os.path.join(root, file))
return combined_scores_files
def get_categories_from_file(file_path):
"""
주어진 엑셀 파일에서 카테고리(인덱스)를 추출합니다.
"""
try:
df = pd.read_excel(file_path, index_col=0)
return df.index.tolist()
except Exception as e:
print(f"Error reading categories from {file_path}: {e}")
return []
def extract_model_name(file_path):
"""
파일 경로에서 모델 이름을 추출합니다.
......@@ -74,7 +86,6 @@ def create_score_sheets(combined_scores_files, categories, score_types):
return score_sheets
def save_to_excel(score_sheets, output_file):
"""
딕셔너리에 저장된 데이터프레임을 각 시트로 저장하여 엑셀 파일로 저장합니다.
......@@ -107,7 +118,6 @@ def save_to_excel(score_sheets, output_file):
# 인덱스 열 너비 조정
max_length = max(df.index.astype(str).map(len).max(), len(df.index.name) if df.index.name else 0) + 2
worksheet.column_dimensions[get_column_letter(1)].width = max_length
print(f"모든 스코어가 '{output_file}' 파일에 저장되었습니다.")
......@@ -124,7 +134,13 @@ def main():
print(f"Found {len(combined_scores_files)} 'combined_scores.xlsx' files.")
# 2. 컬럼과 행 정의
# 2. 첫 번째 파일에서 카테고리 추출
categories = get_categories_from_file(combined_scores_files[0])
if not categories:
print("Failed to extract categories from the first file.")
return
# 3. 스코어 유형 정의
score_types = [
'cot_1_shot_single_score',
'cot_1_shot_multi_score',
......@@ -135,36 +151,11 @@ def main():
'lotte_single_turn'
]
categories = [
'글쓰기(Writing)',
'문법(Grammar)',
'수학(Math)',
'이해(Understanding)',
'추론(Reasoning)',
'코딩(Coding)',
'lotte_qa',
'meeting_summary',
'mrc',
'mrc_summary',
'review_summary',
'search_keyword',
'search_summary',
'task_assistant_hire',
'task_assistant_mail_introduce',
'task_assistant_mail_meeting',
'task_assistant_mail_pr',
'task_assistant_mail_share',
'text2sql',
'sql2text',
'text2sql_dart',
# 'sql2text_dart'
]
# 3. 데이터 수집 및 시트 생성
# 4. 데이터 수집 및 시트 생성
score_sheets = create_score_sheets(combined_scores_files, categories, score_types)
# 4. 엑셀 파일로 저장
# 5. 엑셀 파일로 저장
save_to_excel(score_sheets, output_file)
if __name__ == "__main__":
main()
main()
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment