86 lines
2.0 KiB
Markdown
86 lines
2.0 KiB
Markdown
# Rosseti parser
|
||
|
||
## Описание
|
||
|
||
Библиотека, куда собран код, необходимый для получения, обработки и сохранения данных с сайта [Россети Ленэнерго](https://rosseti-lenenergo.ru/planned_work/)
|
||
|
||
## Интерфейс
|
||
|
||
- `RossetiParser`:
|
||
```python
|
||
class RossetiParser:
|
||
def __init__(self, ndays=7, today: Optional[datetime] = None, file_path: Optional[str] = None) -> None
|
||
|
||
self.base_url: str
|
||
self.ndays: int
|
||
self.today: datetime
|
||
self.df: pd.DataFrame
|
||
|
||
def __str__(self) -> str
|
||
|
||
def fetch(self, ndays: Optional[int] = None, today: Optional[datetime] = None) -> None
|
||
|
||
def save_df(self, file_path: str) -> None
|
||
|
||
def load_df(self, file_path: str) -> None
|
||
|
||
```
|
||
- `split_addresses`:
|
||
```python
|
||
def split_addresses(df: pd.DataFrame) -> pd.DataFrame
|
||
```
|
||
- `get_building_id`:
|
||
```python
|
||
def get_building_id(street: str) -> Tuple[Optional[int], Optional[float], Optional[float]]
|
||
```
|
||
- `fetch_builing_ids`:
|
||
```python
|
||
def fetch_builing_ids(df: pd.DataFrame) -> pd.DataFrame
|
||
```
|
||
- `async_fetch_building_ids`:
|
||
```python
|
||
async def async_fetch_building_ids(df: pd.DataFrame) -> pd.DataFrame
|
||
```
|
||
- `concurrent_fetch_builing_ids`:
|
||
```python
|
||
def concurrent_fetch_builing_ids(df: pd.Dataframe) -> pd.DataFrame
|
||
```
|
||
- `preprocess_df`:
|
||
```python
|
||
def preprocess_df(df: pd.DataFrame) -> pd.DataFrame
|
||
```
|
||
- `COL_NS`:
|
||
```python
|
||
COL_NS: Dict[str, str]
|
||
```
|
||
- `ICOL_NS`:
|
||
```python
|
||
ICOL_NS: Dict[str, str]
|
||
```
|
||
- `preprocess_read_df`:
|
||
```python
|
||
def preprocess_read_df(df: pd.DataFrame) -> pd.DataFrame
|
||
```
|
||
- `group_by_index`:
|
||
```python
|
||
def group_by_index(df: pd.DataFrame) -> pd.DataFrame
|
||
```
|
||
- `pipeline`:
|
||
```python
|
||
def pipeline(parser: Optional[RossetiParser] = None) -> RossetiParser
|
||
```
|
||
|
||
## Инструкция по запуску
|
||
|
||
В корневой папке проекта:
|
||
|
||
```bash
|
||
python -m venv .venv
|
||
|
||
pip install -r requirements.txt
|
||
|
||
python -m rosseti_parser [<Период в часах>]
|
||
```
|
||
|
||
Формат сохраняемых файлов: `data_%d-%m-%y_%H:%M.csv`
|