0

I have a csv file that looks like this:

No                    String

1                     A B A A B C D E E C F

1                     B B B C M F G

1                     A A M V 

2                     H C A A A B B N M F 

2                     N M H D D B A F F N M N

3                     A C M G F F A A A

..                    ....

I would like to convert this file to a graph where it contains nodes: A,B ,C,D,E,F,G,H,M,N,V and edges between them are the value in column 'No' with considering of loop.

Any hints would be appreciated.

1 Answer 1

1

I just saw your question while browsing it may be late but it maybe helpful First create one digraph and a list Graph = DiGraph() string_list = list # to add all strings

so first you have to read the file and put it in any data structure you prefer. In this case I put it in dictionary

with open(file_path, 'r', encoding='utf-8') as csvfile:
    reader = DictReader(csvfile)
    data = [dict(x) for x in reader]

after that

    for row in data: # for each item in the dictionary 
        string_list.extend(row['String'].split(' ')) # add a list of strings which are separated by "space" into a list. So that, you can access each character
         for char in string_list: # for each element in the list (each character)
            Graph.add_edge(row['No'], char) (create an edge between each "No" with each character )

print(Graph.edges())

this should work

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.