Files

25 lines
734 B
Python

"""Module for ingesting CSV files containing quotes."""
from typing import List
from .IngestorInterface import IngestorInterface
from .QuoteModel import QuoteModel
import pandas as pd
class CSVIngestor(IngestorInterface):
"""Subclass for ingesting CSV files."""
allowed_extensions = ["csv"]
@classmethod
def parse(cls, path: str) -> List[QuoteModel]:
"""Parse the CSV file to extract quotes."""
if not cls.can_ingest(path):
raise Exception("Invalid ingest path")
quotes = []
df = pd.read_csv(path, header=0, sep=",", names=["body", "author"])
for _, row in df.iterrows():
quotes.append(QuoteModel(row["body"], row["author"]))
return quotes