Well, then define it — first_graph should simply be the graph you loaded from 
the first CSV file as usual.  

--  
T.


On Monday, 18 November 2013 at 06:06, Ahmed Abdeen Hamed wrote:

> I am sorry but it seems we haven't defined the the first_graph variable.
>  
> Traceback (most recent call last):
>   File "file-reader.py", line 12, in <module>
>     for name in first_graph.vs["name"]:
> NameError: name 'first_graph' is not defined
>  
>  
> Sorry, I am really embarrassed asking many questions :(
>  
> -Ahmed
>  
>  
>  
>  
>  
>  
> On Sun, Nov 17, 2013 at 4:52 AM, Tamás Nepusz <[email protected] 
> (mailto:[email protected])> wrote:
> > One of your CSV files does not have a “source” header for sure.  
> >  
> > --  
> > T.
> >  
> >  
> > On Sunday, 17 November 2013 at 01:28, Ahmed Abdeen Hamed wrote:
> >  
> > > Thank you!
> > >  
> > > It is not liking the headers of the csv files:
> > >  
> > >  
> > > Ahmeds-MacBook-Pro:python-projects ahamedCOM$ python file-reader.py   
> > > Traceback (most recent call last):
> > >   File "file-reader.py", line 8, in <module>
> > >     g = Graph.DictList(vertices=None, edges=chain(reader1, reader2))
> > >   File "/Library/Python/2.7/site-packages/igraph/__init__.py", line 2246, 
> > > in DictList
> > >     v1 = vertex_name_map[edge_data[efk_src]]
> > > KeyError: 'source'
> > >  
> > >  
> > > -Ahmed
> > >  
> > >  
> > >  
> > >  
> > >  
> > >  
> > > On Sat, Nov 16, 2013 at 11:32 AM, Tamás Nepusz <[email protected] 
> > > (mailto:[email protected])> wrote:
> > > > Hi,  
> > > >  
> > > > > How do you append to a graph from a file?  
> > > > >  
> > > > > Here is a scenario of what I am trying to do I have two different csv 
> > > > > files:
> > > > 1. How about concatenating the two files first and then loading the 
> > > > combined file?  
> > > >  
> > > > 2. If you don’t want to concatenate the physical files, you can still 
> > > > concatenate the CSV reader objects that you use to read them:
> > > >  
> > > > from itertools import chain
> > > >  
> > > > reader1 = csv.DictReader(open(“file1.csv”))
> > > > reader2 = csv.DictReader(open(“file2.csv”))
> > > >  
> > > > g = Graph.DictList(vertices=None, edges=chain(reader1, reader2))
> > > >  
> > > > 3. If you already have a graph and you want to add edges from another 
> > > > file to it, you will need a lookup table that 1) maps vertex names from 
> > > > the first graph to the corresponding vertex IDs, 2) is able to create 
> > > > new IDs for vertex names from the second that it hasn’t seen yet. 
> > > > igraph’s UniqueIdGenerator object can help you with that:  
> > > >  
> > > > # Create the UniqueIdGenerator and pre-load it with the names from the 
> > > > first graph
> > > > id_gen = UniqueIdGenerator()
> > > > for name in first_graph.vs[“name”]:
> > > >     id_gen.add(name)
> > > >  
> > > > # Read the second graph
> > > > reader = csv.DictReader(open(“file2.csv”))
> > > > new_edges = []
> > > > for row in reader:
> > > >     new_edges.append(id_gen[row[“source”]], id_gen[row[“target”]])
> > > >  
> > > > # Add the new vertices and edges to the graph
> > > > n = g.vcount()
> > > > if n < len(id_gen):
> > > >     g.add_vertices(len(id_gen) - n)
> > > >     g.vs[“name”] = id_gen.values()
> > > > g.add_edges(new_edges)
> > > >  
> > > > I know that it’s a bit cumbersome; the Python interface desperately 
> > > > needs a Graph.union_by_name() function but I haven’t had time to add it 
> > > > yet.
> > > >  
> > > > —   
> > > > T.
> > > >  
> > > >  
> > > > _______________________________________________
> > > > igraph-help mailing list
> > > > [email protected] (mailto:[email protected])
> > > > https://lists.nongnu.org/mailman/listinfo/igraph-help
> > > >  
> > >  
> > > _______________________________________________
> > > igraph-help mailing list
> > > [email protected] (mailto:[email protected])
> > > https://lists.nongnu.org/mailman/listinfo/igraph-help
> > >  
> > >  
> > >  
> >  
> >  
> >  
> > _______________________________________________
> > igraph-help mailing list
> > [email protected] (mailto:[email protected])
> > https://lists.nongnu.org/mailman/listinfo/igraph-help
> >  
>  
> _______________________________________________
> igraph-help mailing list
> [email protected] (mailto:[email protected])
> https://lists.nongnu.org/mailman/listinfo/igraph-help
>  
>  


_______________________________________________
igraph-help mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/igraph-help

Reply via email to