ai-assistant / config /handling.py
digitalai's picture
Upload 29 files
6736fcd verified
raw
history blame contribute delete
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)