YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

import gradio as gr import pandas as pd import re

def load_data(file_path): return pd.read_excel(file_path)

def extract_courses(data, start_label, column_index): temp = data[data.iloc[:, column_index] == start_label].index[0] course_index = data[data.iloc[:, column_index] == start_label].index.tolist() if len(course_index) > 0: course_index = [index for index in course_index if index > temp] if course_index: course_index = course_index[-1] else: course_index = len(data) else: course_index = len(data) data_subset = data.iloc[temp + 2: course_index] filtered_data = data_subset[data_subset.iloc[:, 4] != 'F'] return filtered_data.iloc[:, column_index].astype(str).tolist()

def check_courses(student_courses, required_courses): UnGradu_Major = [] for major in required_courses: if not any(str(major) in str(my_courses) for my_courses in student_courses): UnGradu_Major.append(major) return UnGradu_Major

def calculate_major_credits(majors_data): Majors_data = [item for item in majors_data if isinstance(item, str) and ('μ „(μ„ )' in item or 'μ „ν•„' in item)] Majors_numbers = [int(re.search(r'\d+', item).group()) for item in Majors_data if re.search(r'\d+', item)] return sum(Majors_numbers)

def get_value(df, row, col, dtype=int): value = df.iloc[row, col] if pd.isna(value): return 0 if dtype == int else 0.0 return dtype(value)

def check_graduation_areas(data): temp = data[data.iloc[:, 1] == '곡필/일선/ꡐ필/ꡐ선/ꡐ직'].index[0] Culture_choice_index = data[data.iloc[:, 1] == '곡필/일선/ꡐ필/ꡐ선/ꡐ직'].index.tolist() if len(Culture_choice_index) > 0: Culture_choice_index = [index for index in Culture_choice_index if index > temp] if Culture_choice_index: Culture_choice_index = Culture_choice_index[-1] else: Culture_choice_index = len(data) else: Culture_choice_index = len(data)

data_subset = data.iloc[temp + 2: Culture_choice_index]
filtered_data = data_subset[data_subset.iloc[:, 4] != 'F']
My_Culture_choice = filtered_data.iloc[:, 1].tolist()
if '곡필/일선/ꡐ필/ꡐ선/ꡐ직' in My_Culture_choice:
    My_Culture_choice.remove('곡필/일선/ꡐ필/ꡐ선/ꡐ직')

Culture_choice = {}
for item in My_Culture_choice:
    if isinstance(item, str):
        if 'μ°½μ˜μ™€ν†΅μ„­' in item or 'μ†Œν†΅λ°μœ€λ¦¬μ ν–‰λ™' in item or 'κΈ€λ‘œμ»¬μ‹œλ―Ό' in item or 'μžκΈ°κ°œλ°œκ³Όμ§€μ‹νƒκ΅¬' in item or 'ꡐ선' in item:
            name, value = item.rsplit(maxsplit=1)
            Culture_choice[name.strip()] = int(value)

chang_greater_than_2 = Culture_choice.get('μ°½μ˜μ™€ν†΅μ„­', 0) >= 2
sootong_greater_than_2 = Culture_choice.get('μ†Œν†΅λ°μœ€λ¦¬μ ν–‰λ™', 0) >= 2
glo_greater_than_2 = Culture_choice.get('κΈ€λ‘œμ»¬μ‹œλ―Ό', 0) >= 2
jagi_greater_than_2 = Culture_choice.get('μžκΈ°κ°œλ°œκ³Όμ§€μ‹νƒκ΅¬', 0) >= 2
Gu_greater_than_19 = Culture_choice.get('ꡐ선', 0) >= 19

return {
    'μ°½μ˜μ™€ 톡섭': chang_greater_than_2,
    'μ†Œν†΅ 및 윀리적 행동': sootong_greater_than_2,
    'κΈ€λ‘œμ»¬ μ‹œλ―Ό': glo_greater_than_2,
    '자기개발과 지식 탐ꡬ': jagi_greater_than_2,
    'ꡐ양선택': Gu_greater_than_19
}

def process_excel(file): data = load_data(file.name)

# 전곡 κ³Όλͺ© μΆ”μΆœ
My_Majors = extract_courses(data, 'μ „ν•„/전곡(μ΄μˆ˜ν•„/μ„ νƒμ΄μˆ˜)', 6)
Majors = ['μ² ν•™κ³Ό μ‹ ν•™', '헬라어Ⅰ', 'νžˆλΈŒλ¦¬μ–΄β… ', '전곡탐색과 μ§„λ‘œμ„€κ³„β… ']
UnGradu_Major = check_courses(My_Majors, Majors)

# 전곡 학점 계산
total_major_credits = calculate_major_credits(My_Majors)

# ꡐ양 κ³Όλͺ© μΆ”μΆœ
My_Culture = extract_courses(data, '곡필/일선/ꡐ필/ꡐ선/ꡐ직', 1)
Culture = ['κ΅¬μ•½μ˜μ„Έκ³„μ™€μΈμ„±', 'μ‹ μ•½μ˜μ„Έκ³„μ™€μ„¬κΉ€', 'μ°½μ˜μ™€λΉ„νŒμ μ‚¬κ³ ', 'κ°œν˜μ£Όμ˜μ‹ μ•™μœ€λ¦¬', 'ν† λ‘ Β·λ°œν‘œμ™€κΈ€μ“°κΈ°', 'κΈ€μ“°κΈ°β… ', 'Global Englishβ… ', 'Global Englishβ…‘', 'NCSμ§μ—…κΈ°μ΄ˆλŠ₯λ ₯']
UnGradu_Culture = check_courses(My_Culture, Culture)

# 'ν† λ‘ Β·λ°œν‘œμ™€κΈ€μ“°κΈ°'와 'κΈ€μ“°κΈ°β… ' 쑰건 처리
if 'ν† λ‘ Β·λ°œν‘œμ™€κΈ€μ“°κΈ°' not in UnGradu_Culture:
    if 'κΈ€μ“°κΈ°β… ' in UnGradu_Culture:
        UnGradu_Culture.remove('κΈ€μ“°κΈ°β… ')
elif 'κΈ€μ“°κΈ°β… ' not in UnGradu_Culture:
    if 'ν† λ‘ Β·λ°œν‘œμ™€κΈ€μ“°κΈ°' in UnGradu_Culture:
        UnGradu_Culture.remove('ν† λ‘ Β·λ°œν‘œμ™€κΈ€μ“°κΈ°')

# 곡톡 μ˜μ—­ κ³Όλͺ© μΆ”μΆœ
My_Gongtong = extract_courses(data, '곡필/일선/ꡐ필/ꡐ선/ꡐ직', 1)
Gongtong = ['μ‹€μ²œI', 'μ‹€μ²œβ…‘', 'μ‹€μ²œβ…’', 'μ‹€μ²œβ…£', 'μ‹€μ²œβ…€', 'μ‹€μ²œβ…₯', 'μ‹€μ²œβ…¦', 'μ‹€μ²œβ…§', '기독ꡐ인성과 μ„¬κΉ€μ˜λ¦¬λ”I', '기독ꡐ인성과 μ„¬κΉ€μ˜λ¦¬λ”β…‘']
UnGradu_Gongtong = check_courses(My_Gongtong, Gongtong)

# μ°½μ˜μ™€ 톡섭, μ†Œν†΅ 및 윀리적 행동, κΈ€λ‘œμ»¬ μ‹œλ―Ό, 자기개발과 지식 탐ꡬ μ˜μ—­ 학점 체크
graduation_areas_check = check_graduation_areas(data)

# κΈ°λ³Έ μ˜μ—­ 체크
total_credits = get_value(data, 3, 5)
total_credits_check = total_credits >= 130
total_credits_diff = 130 - total_credits
gpa = get_value(data, 3, 9, dtype=float)
gpa_check = gpa >= 2.0

# κ²°κ³Ό 좜λ ₯
result = ""
result += "----- κΈ°λ³Έ μ˜μ—­μ„ λ§Œμ‘±ν•˜μ˜€λŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€. -----\n"
if total_credits_check:
    result += "μΆ•ν•˜ν•©λ‹ˆλ‹€. 총 학점이 130학점 μ΄μƒμž…λ‹ˆλ‹€.\n"
else:
    result += f"μ•„μ‰½μŠ΅λ‹ˆλ‹€. 총 학점을 130학점 이상 μ±„μš°μ§€ λͺ»ν•˜μ˜€μŠ΅λ‹ˆλ‹€. {total_credits_diff} 학점 이상을 더 μ±„μš°μ…”μ•Ό ν•©λ‹ˆλ‹€.\n"

if gpa_check:
    result += "μΆ•ν•˜ν•©λ‹ˆλ‹€. 총 평점이 2.0 μ΄μƒμž…λ‹ˆλ‹€.\n"
else:
    result += "μ•„μ‰½μŠ΅λ‹ˆλ‹€. 총 평점이 2.0 이상이 μ•„λ‹™λ‹ˆλ‹€.\n"

result += "\n----- 제 1전곡 μ˜μ—­μ„ λ§Œμ‘±ν•˜μ˜€λŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€. -----\n"
result += f"λ“£μ§€ μ•Šμ€ 전곡 ν•„μˆ˜ κ³Όλͺ© : {UnGradu_Major}\n"
if not UnGradu_Major:
    result += "μΆ•ν•˜ν•©λ‹ˆλ‹€. μ „κ³΅ν•„μˆ˜ κ³Όλͺ©μ„ λͺ¨λ‘ μ΄μˆ˜ν•˜μ…¨μŠ΅λ‹ˆλ‹€.\n"
else:
    result += "μ•„μ‰½μŠ΅λ‹ˆλ‹€. μœ„ ν•­λͺ©μ˜ μ „κ³΅ν•„μˆ˜ κ³Όλͺ©μ„ 더 μ΄μˆ˜ν•˜μ…”μ•Ό ν•©λ‹ˆλ‹€.\n"

if total_major_credits >= 36:
    result += "μΆ•ν•˜ν•©λ‹ˆλ‹€. 전곡 학점이 36 μ΄μƒμž…λ‹ˆλ‹€.\n"
else:
    result += f"μ•„μ‰½μŠ΅λ‹ˆλ‹€. 전곡 학점을 36학점 이상 μ±„μš°μ§€ λͺ»ν•˜μ˜€μŠ΅λ‹ˆλ‹€. {36 - total_major_credits} 학점 이상을 더 μ±„μš°μ…”μ•Ό ν•©λ‹ˆλ‹€.\n"

result += "\n----- ꡐ양 μ˜μ—­μ„ λ§Œμ‘±ν•˜μ˜€λŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€. -----\n"
result += f"λ“£μ§€ μ•Šμ€ κ΅μ–‘ν•„μˆ˜ κ³Όλͺ© : {UnGradu_Culture}\n"
if not UnGradu_Culture:
    result += "μΆ•ν•˜ν•©λ‹ˆλ‹€. κ΅μ–‘ν•„μˆ˜ κ³Όλͺ©μ„ λͺ¨λ‘ μ΄μˆ˜ν•˜μ…¨μŠ΅λ‹ˆλ‹€.\n"
else:
    result += "μ•„μ‰½μŠ΅λ‹ˆλ‹€. μœ„ ν•­λͺ©μ˜ κ΅μ–‘ν•„μˆ˜ κ³Όλͺ©μ„ 더 μ΄μˆ˜ν•˜μ…”μ•Ό ν•©λ‹ˆλ‹€.\n"

for area, satisfied in graduation_areas_check.items():
    if area == 'ꡐ양선택':
        result += f"{area} μ˜μ—­(19학점 이상)을 λ§Œμ‘±ν•˜μ˜€λŠ”κ°€? {satisfied}\n"
    else:
        result += f"{area} μ˜μ—­(2학점 이상)을 λ§Œμ‘±ν•˜μ˜€λŠ”κ°€? {satisfied}\n"

result += "\n----- 곡톡 μ˜μ—­μ„ λ§Œμ‘±ν•˜μ˜€λŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€. -----\n"
result += f"μ±„μ›Œμ•Ό ν•˜λŠ” 곡톡 μ˜μ—­: {UnGradu_Gongtong}\n"
if not UnGradu_Gongtong:
    result += "μΆ•ν•˜ν•©λ‹ˆλ‹€. 곡톡 μ˜μ—­ κ³Όλͺ©μ„ λͺ¨λ‘ μ΄μˆ˜ν•˜μ…¨μŠ΅λ‹ˆλ‹€.\n"
else:
    result += "μ•„μ‰½μŠ΅λ‹ˆλ‹€. μœ„ ν•­λͺ©μ˜ 곡톡 μ˜μ—­ κ³Όλͺ©μ„ 더 μ΄μˆ˜ν•˜μ…”μ•Ό ν•©λ‹ˆλ‹€.\n"

return result

Gradio μΈν„°νŽ˜μ΄μŠ€ μ •μ˜

footer = """

Copyrightβ“’2024. κΉ€μš°μ„ & κΉ€μ„±ν›ˆ. All Rights Reserved
μ΄μ‹ λŒ€ν•™κ΅ μ‘Έμ—… 확인 μ‹œμŠ€ν…œλŠ” μ΄μ‹ λŒ€ν•™κ΅ κΈ°λ…κ΅μœ΅ν•©μ½˜ν…μΈ  μˆ˜μ—…μ˜ 쑸업연ꡬ μˆ˜κ°•μƒμΈ κΉ€μš°μ„μ΄ μ§€λ„κ΅μˆ˜μΈ κΉ€μ„±ν›ˆ κ΅μˆ˜μ™€ ν•¨κ»˜ λ§Œλ“€κ³  μžˆμŠ΅λ‹ˆλ‹€.
이 μ‹œμŠ€ν…œμ€ μ—°κ΅¬μš©μœΌλ‘œ 였λ₯˜κ°€ μžˆμ„ 수 μžˆμœΌλ―€λ‘œ 개인이 직접 λ‹€μ‹œ ν•œλ²ˆλ” 확인해보셔야 ν•©λ‹ˆλ‹€.
"""

μΈν„°νŽ˜μ΄μŠ€μ— μ„€λͺ… μΆ”κ°€

iface = gr.Blocks()

with iface: gr.Markdown("

μ΄μ‹ λŒ€ μ‹ ν•™κ³Ό μ‘Έμ—… μš”κ±΄ 확인(17~20ν•™λ²ˆ)

") gr.Markdown("
νŒŒμΌμ„ μ—…λ‘œλ“œν•˜μ—¬ μ‘Έμ—… μš”κ±΄μ„ ν™•μΈν•˜μ„Έμš”.
") gr.Markdown("") gr.Markdown("") with gr.Row(): file_input = gr.File(label="μ„±μ ν‘œ(μ—‘μ…€) νŒŒμΌμ„ μ—…λ‘œλ“œν•˜μ„Έμš”.") output = gr.Textbox(label="μ‘Έμ—… μ—¬λΆ€ ν™•μΈλž€") submit_btn = gr.Button("Submit") submit_btn.click(fn=process_excel, inputs=file_input, outputs=output) gr.Markdown(footer)

iface.launch(share=True)

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support