Spaces:
Sleeping
Sleeping
| import pandas as pd | |
| import gradio as gr | |
| def check_csv(file): | |
| if file is None: | |
| return "請上傳檔案!" | |
| try: | |
| df = pd.read_csv(file.name, encoding="utf-8-sig") | |
| df.columns = [col.strip() for col in df.columns] | |
| required_columns = {"Question", "Context", "Answer"} | |
| actual_columns = set(df.columns) | |
| if actual_columns != required_columns: | |
| return f"欄位錯誤:應包含欄位 {required_columns},實際為 {actual_columns}" | |
| if df.shape[0] == 0: | |
| return "檔案中沒有資料列!" | |
| invalid_rows = df[df["Question"].notnull() & (df["Answer"].isnull() | df["Context"].isnull())] | |
| if len(invalid_rows) > 0: | |
| missing_questions = "\n".join(f"- 問題:{q}" for q in invalid_rows["Question"].tolist()) | |
| return f"發現 {len(invalid_rows)} 筆資料中 Answer 或 Context 為空:\n{missing_questions}" | |
| return "檔案格式正確,資料內容完整" | |
| except Exception as e: | |
| return f"發生錯誤:{str(e)}" | |
| demo = gr.Interface( | |
| fn=check_csv, | |
| inputs=gr.File(label="上傳 CSV 檔案"), | |
| outputs=gr.Textbox(label="檢查結果"), | |
| title="繳交檔案 (Evaluation_Dataset.csv) 檢查工具", | |
| description="請上傳一個包含`Question`, `Context`, `Answer`欄位的 CSV 檔案,以檢查您的檔案格式是否正確。", | |
| flagging_mode="never" | |
| ) | |
| demo.launch() |