ragraph.io.csv
#
CSV format support.
Module Contents#
Functions#
|
Convert CSV files to a graph. |
|
Save graph to nodes and edges CSV files. |
|
Convert node CSV file to a list of nodes. |
|
Derive nodes from edges CSV file. |
|
Convert edge CSV file to graph. |
|
Save graph nodes to CSV file. |
|
Save graph edges to CSV file. |
|
Convert a string value to a float number or bool. |
Attributes#
- ragraph.io.csv.NODE_COLUMNS = ['name', 'uuid', 'kind', 'labels', 'parent', 'children', 'is_bus']#
- ragraph.io.csv.EDGE_COLUMNS = ['source', 'target', 'name', 'uuid', 'kind', 'labels']#
- ragraph.io.csv.from_csv(nodes_path: Optional[Union[str, pathlib.Path]] = None, edges_path: Optional[Union[str, pathlib.Path]] = None, csv_delimiter: str = ';', iter_delimiter: str = ';', node_weights: Optional[List[str]] = None, edge_weights: Optional[List[str]] = None, **graph_kwargs)#
Convert CSV files to a graph.
Nodes file (optional) requires at least a name column. Optional special property columns are kind, labels, parent, children and is_bus.
Edges file requires at least a source and target column. Optional special property columns are kind and labels.
Automatically completes one sided parent-child relationships.
- Parameters:
nodes_path – Path of optional nodes CSV file.
edges_path – Path of edges CSV file.
csv_delimiter – Delimiter of CSV file.
iter_delimiter – Iterable delimiter (i.e. for children names list).
node_weights – Columns to interpret as node weights.
edge_weights – Columns to interpret as edge weights.
:keyword Optional
Graph
arguments when instantiating.:- Returns:
Graph object.
- Raises:
InconsistencyError if graph is inconsistent. –
- ragraph.io.csv.to_csv(graph: ragraph.graph.Graph, stem_path: str, csv_delimiter: str = ';', iter_delimiter: str = ';', use_uuid: bool = False)#
Save graph to nodes and edges CSV files.
- Parameters:
graph – Graph to save.
stem_path – Stem path for output CSV’s. Appended with _nodes.csv and _edges.csv.
csv_delimiter – CSV delimiter.
iter_delimiter – Iterable delimiter (i.e. for children names list).
use_uuid – Whether to export UUIDs, too.
- ragraph.io.csv._load_nodes(fpath: Union[str, pathlib.Path], csv_delimiter: str, iter_delimiter: str, node_weights: List[str]) Dict[str, ragraph.graph.Node] #
Convert node CSV file to a list of nodes.
- Parameters:
fpath – Path to nodes CSV file.
csv_delimiter – CSV delimiter.
iter_delimiter – Iterable delimiter (i.e. for children names list).
node_weights – Columns to interpret as node weights.
- Returns:
Node dictionary (name, node).
- ragraph.io.csv._derive_nodes(edges_path: Union[str, pathlib.Path], csv_delimiter: str) Dict[str, ragraph.graph.Node] #
Derive nodes from edges CSV file.
- Parameters:
edge_path – Path to edges CSV file.
csv_delimiter – CSV delimiter.
- Returns:
Node dictionary (name, node).
- ragraph.io.csv._load_edges(fpath: Union[str, pathlib.Path], csv_delimiter: str, iter_delimiter: str, node_dict: List[ragraph.graph.Node], edge_weights: List[str]) List[ragraph.graph.Edge] #
Convert edge CSV file to graph.
- Parameters:
fpath – Path to edges CSV file.
csv_delimiter – CSV delimiter.
iter_delimiter – Iterable delimiter (i.e. for children names list).
node_dict – Node dictionary (name, node).
edge_weights – Columns to interpret as edge weights.
- Returns:
Edge list.
- ragraph.io.csv._save_nodes(graph: ragraph.graph.Graph, fpath: pathlib.Path, csv_delimiter: str, iter_delimiter: str, use_uuid: bool = False)#
Save graph nodes to CSV file.
- Parameters:
graph – Graph to save.
fpath – Path to nodes CSV file.
csv_delimiter – CSV delimiter.
iter_delimiter – Iterable delimiter (i.e. for children names list).
use_uuid – Whether to export UUIDs, too.
- ragraph.io.csv._save_edges(graph: ragraph.graph.Graph, fpath: pathlib.Path, csv_delimiter: str, iter_delimiter: str, use_uuid: bool = False)#
Save graph edges to CSV file.
- Parameters:
graph – Graph to save.
fpath – Path to edges CSV file.
csv_delimiter – CSV delimiter.
iter_delimiter – Iterable delimiter (i.e. for children names list).
use_uuid – Whether to export UUIDs, too.
- ragraph.io.csv._convert_to_num(value: str) Union[float, bool] #
Convert a string value to a float number or bool.
- Argument:
value: The value to be converted.