book_recommendation_system / data_loader.py
rohitmsan's picture
Create data_loader.py
a5f5b61 verified
raw
history blame contribute delete
939 Bytes
import pandas as pd
class DataLoader:
"""
Class responsible for loading and validating the dataset.
"""
def __init__(self, file_path):
self.file_path = file_path
def load_data(self):
"""
Load and preprocess the dataset.
Returns:
pd.DataFrame: Loaded and validated dataset.
"""
try:
df = pd.read_csv(self.file_path)
required_columns = ["book_name", "summaries", "categories"]
if not all(col in df.columns for col in required_columns):
raise ValueError(f"Dataset must include {', '.join(required_columns)} columns.")
df.dropna(subset=["book_name", "summaries"], inplace=True)
return df
except FileNotFoundError:
raise FileNotFoundError(f"File not found: {self.file_path}")
except Exception as e:
raise Exception(f"Error loading data: {e}")