ai-assistant / config /handling.py
digitalai's picture
Upload 29 files
6736fcd verified
raw
history blame
No virus
1.65 kB
import os
import pandas as pd
import json
from pathlib import Path
from openpyxl import workbook
current_file_path = Path(__file__).resolve()
project_root = current_file_path.parents[1]
assets_dir = Path(project_root) / 'asset'
database_dir = Path(project_root) / "data"
# datafile = pd.read_csv(database_dir / "database.csv")
def data_cleaning(datafile):
df = datafile.rename(columns={"id": "level", "action_text": "feedback", "next_id": "next"})
df2 = df[["level", "question_text", "options", "feedback", "next"]]
df2 = df2.dropna(axis=1, how='all')
df2 = df2.dropna(axis=0, how='any')
return df2
def option_maker(df_to_option):
# تبدیل به فرمت JSON
json_data = {}
for index, row in df_to_option.iterrows():
level = row['level']
option = row['options']
feedback = row['feedback']
next_id = row['next']
if level not in json_data:
json_data[level] = {}
json_data[level][option] = {"feedback": feedback, "next": next_id}
with open(Path(database_dir)/'option_data.json', 'w', encoding="utf-8") as json_file:
json.dump(json_data, json_file, ensure_ascii=False, indent=4)
def quiz_maker(df_to_quiz):
quiz_data = {}
for index_q, row_q in df_to_quiz.iterrows():
level_q = row_q['level']
question_text = row_q['question_text']
if level_q not in quiz_data:
quiz_data[level_q] = {}
quiz_data[level_q] = [question_text]
with open(Path(database_dir)/'question_data.json', 'w', encoding="utf-8") as json_file:
json.dump(quiz_data, json_file, ensure_ascii=False, indent=4)