Class CSVImporter<V,E>
- java.lang.Object
-
- org.jgrapht.nio.BaseEventDrivenImporter<V,E>
-
- org.jgrapht.nio.csv.CSVImporter<V,E>
-
- Type Parameters:
V- the graph vertex typeE- the graph edge type
- All Implemented Interfaces:
GraphImporter<V,E>
public class CSVImporter<V,E> extends BaseEventDrivenImporter<V,E> implements GraphImporter<V,E>
Imports a graph from a CSV Format or any other Delimiter-separated value format.The importer supports various different formats which can be adjusted using the
setFormatmethod. The supported formats are the same CSV formats used by Gephi . For some of the formats, the behavior of the importer can be adjusted using thesetParametermethod. SeeCSVFormatfor a description of the formats.The importer respects rfc4180. The caller can also adjust the separator to something like semicolon or pipe instead of comma. In such a case, all fields are unescaped using the new separator. See Delimiter- separated values for more information.
This importer does not distinguish between
CSVFormat.EDGE_LISTandCSVFormat.ADJACENCY_LIST. In both cases it assumes the format isCSVFormat.ADJACENCY_LIST.- Author:
- Dimitrios Michail
- See Also:
CSVFormat
-
-
Constructor Summary
Constructors Constructor Description CSVImporter()Constructs a new importer using theCSVFormat.ADJACENCY_LISTformat as default.CSVImporter(CSVFormat format)Constructs a new importer.CSVImporter(CSVFormat format, char delimiter)Constructs a new importer.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description chargetDelimiter()Get the delimiter (comma, semicolon, pipe, etc).CSVFormatgetFormat()Get the format that the importer is using.voidimportGraph(Graph<V,E> graph, Reader input)Import a graph.booleanisParameter(CSVFormat.Parameter p)Return if a particular parameter of the exporter is enabledvoidsetDelimiter(char delimiter)Set the delimiter (comma, semicolon, pipe, etc).voidsetFormat(CSVFormat format)Set the format of the importervoidsetParameter(CSVFormat.Parameter p, boolean value)Set the value of a parameter of the exporter-
Methods inherited from class org.jgrapht.nio.BaseEventDrivenImporter
addEdgeAttributeConsumer, addEdgeConsumer, addEdgeCountConsumer, addGraphAttributeConsumer, addImportEventConsumer, addVertexAttributeConsumer, addVertexConsumer, addVertexCountConsumer, notifyEdge, notifyEdgeAttribute, notifyEdgeCount, notifyGraphAttribute, notifyImportEvent, notifyVertex, notifyVertexAttribute, notifyVertexCount, removeEdgeAttributeConsumer, removeEdgeConsumer, removeEdgeCountConsumer, removeGraphAttributeConsumer, removeImportEventConsumer, removeVertexAttributeConsumer, removeVertexConsumer, removeVertexCountConsumer
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.jgrapht.nio.GraphImporter
importGraph, importGraph
-
-
-
-
Constructor Detail
-
CSVImporter
public CSVImporter()
Constructs a new importer using theCSVFormat.ADJACENCY_LISTformat as default.
-
CSVImporter
public CSVImporter(CSVFormat format)
Constructs a new importer.- Parameters:
format- format to use out of the supported ones
-
CSVImporter
public CSVImporter(CSVFormat format, char delimiter)
Constructs a new importer.- Parameters:
format- format to use out of the supported onesdelimiter- delimiter to use (comma, semicolon, pipe, etc.)
-
-
Method Detail
-
getFormat
public CSVFormat getFormat()
Get the format that the importer is using.- Returns:
- the input format
-
setFormat
public void setFormat(CSVFormat format)
Set the format of the importer- Parameters:
format- the format to use
-
getDelimiter
public char getDelimiter()
Get the delimiter (comma, semicolon, pipe, etc).- Returns:
- the delimiter
-
setDelimiter
public void setDelimiter(char delimiter)
Set the delimiter (comma, semicolon, pipe, etc).- Parameters:
delimiter- the delimiter to use
-
isParameter
public boolean isParameter(CSVFormat.Parameter p)
Return if a particular parameter of the exporter is enabled- Parameters:
p- the parameter- Returns:
trueif the parameter is set,falseotherwise
-
setParameter
public void setParameter(CSVFormat.Parameter p, boolean value)
Set the value of a parameter of the exporter- Parameters:
p- the parametervalue- the value to set
-
importGraph
public void importGraph(Graph<V,E> graph, Reader input) throws ImportException
Import a graph.The provided graph must be able to support the features of the graph that is read. For example if the input contains self-loops then the graph provided must also support self-loops. The same for multiple edges.
If the provided graph is a weighted graph, the importer also reads edge weights.
- Specified by:
importGraphin interfaceGraphImporter<V,E>- Parameters:
graph- the graphinput- the input reader- Throws:
ImportException- in case an error occurs, such as I/O or parse error
-
-