File size: 729 Bytes
8af0435
6c48427
aff5a07
6c48427
aff5a07
 
 
6c48427
548a084
6c48427
 
 
 
 
 
 
 
548a084
 
6c48427
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# data_registry.py
import os
import pandas as pd
from typing import Dict, Optional

class DataRegistry:
    def __init__(self):
        self._frames: Dict[str, pd.DataFrame] = {}

    def add_path(self, path: str) -> bool:
        name = os.path.basename(path)
        ext = os.path.splitext(name)[1].lower()
        if ext == ".csv":
            df = pd.read_csv(path)
            self._frames[name] = df
            return True
        return False

    def names(self):
        return list(self._frames.keys())

    def get(self, name_or_path: str) -> Optional[pd.DataFrame]:
        key = os.path.basename(name_or_path)
        return self._frames.get(key)

    def put_df(self, key: str, df):
        self._frames[key] = df