Matthias GOUPIL
feat(interface): linking the AStar graph to the interface with Paul
ced8d95
import pandas as pd
from typing import Dict
class CSVTravelGraph():
def __init__(self, csv_file: str):
"""
Read csv and create the graph in function of the given mode
"""
self.csv = pd.read_csv(csv_file, sep="\t")
self.data = self.generateGraph()
def generateGraph(self):
"""
Create a graph by browsing the data retrieved in the csv
Returns:
(Dict[str, Dict[str, float]]): The graph
"""
graph: Dict[str, Dict[str, float]] = {}
def addTravelToTheGraph(depart, arrive, duree):
if depart in graph:
graph[depart][arrive] = duree
else:
graph[depart] = {arrive: duree}
for index, row in self.csv.iterrows():
trip_id, trajet, duree = row
points = trajet.split(' - ')
depart = ' - '.join(points[:-1])
arrive = points[-1]
duree = float(duree)
addTravelToTheGraph(depart, arrive, duree)
addTravelToTheGraph(arrive, depart, duree)
return graph