File size: 563 Bytes
d2a63cc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from .csv_reader import CsvReader
from .json_reader import JsonReader
from .jsonl_reader import JsonlReader
from .txt_reader import TxtReader

_MAPPING = {
    "jsonl": JsonlReader,
    "json": JsonReader,
    "txt": TxtReader,
    "csv": CsvReader,
}


def read_file(file_path: str):
    suffix = file_path.split(".")[-1]
    if suffix in _MAPPING:
        reader = _MAPPING[suffix]()
    else:
        raise ValueError(
            f"Unsupported file format: {suffix}. Supported formats are: {list(_MAPPING.keys())}"
        )
    return reader.read(file_path)