Create a network table and the network dictionary for export to Perseus.
    
    :param graphs: Collection of networkx graphs

    >>> from perseuspy import nx
    >>> G = nx.random_graphs.barabasi_albert_graph(10, 3)
    >>> network_table, networks = nx.to_perseus([G])

def to_perseus(graphs):
    """
    Create a network table and the network dictionary for export to Perseus.
    
    :param graphs: Collection of networkx graphs

    >>> from perseuspy import nx
    >>> G = nx.random_graphs.barabasi_albert_graph(10, 3)
    >>> network_table, networks = nx.to_perseus([G])
    """
    graph_attributes = []
    networks = {}
    for graph in graphs:
        attributes = dict(graph.graph)
        attributes.update({"Name" : attributes.get("Name", attributes.get("name", "networkx graph")),
            "GUID": attributes.get("GUID", str(uuid.uuid4()))})
        graph_attributes.append(attributes)
        if len(graph) > 0:
            edge_table = pd.DataFrame([dict(data, **{"Source": str(f), "Target": str(t)}) for f,t,data in graph.edges(data=True)])
            edge_table.columns.name = "Column Name"
            node_table = pd.DataFrame([dict(data, **{"Node": str(n)}) for n,data in graph.nodes(data=True)])
            node_table.columns.name = "Column Name"
        else:
            edge_table = pd.DataFrame(columns=pd.Index(['Source', 'Target'], name='Column Name'))
            node_table = pd.DataFrame(columns=pd.Index(['Node'], name='Column Name'))
        guid = attributes['GUID']
        networks[guid] = {
            'edge_table': edge_table,
            'node_table': node_table,
            'name': attributes['Name'],
            'guid': guid }
    network_table = pd.DataFrame(graph_attributes)
    network_table.columns.name = "Column Name"
    return network_table, networks