Class CSVImporter<V,​E>

  • Type Parameters:
    V - the graph vertex type
    E - 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 setFormat method. 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 the setParameter method. See CSVFormat for 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_LIST and CSVFormat.ADJACENCY_LIST. In both cases it assumes the format is CSVFormat.ADJACENCY_LIST.

    Author:
    Dimitrios Michail
    See Also:
    CSVFormat
    • Constructor Detail

      • 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 ones
        delimiter - 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:
        true if the parameter is set, false otherwise
      • setParameter

        public void setParameter​(CSVFormat.Parameter p,
                                 boolean value)
        Set the value of a parameter of the exporter
        Parameters:
        p - the parameter
        value - 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:
        importGraph in interface GraphImporter<V,​E>
        Parameters:
        graph - the graph
        input - the input reader
        Throws:
        ImportException - in case an error occurs, such as I/O or parse error