Parse string as list of tuples

Viewed 680

Input: '(tagname1, tagvalue1),(tagname2,tagvalue2), ( tagname3, tagvalue3 ), (tag name4,tag value4)'

Output: [("tagname1", "tagvalue1"), ("tagname2", "tagvalue2"), ("tagname3", "tagvalue3"), ("tag name4", "tag value4")]

I have a solution but it's working only if the input contains quotes for each element: "tagname1", "tagvalue1" ...

import ast
ast.literal_eval(input_string)

In my case I receive: ValueError: malformed string

Any solution to have it working (please see the spaces, too)?

4 Answers
Related