Reputation: 273
Does ast.literal_eval() work with list of dictionaries ? For me it is giving malformed string error ?
[[u'ABN', u'12', u'', 2.69, u'222.222.222.222', u'253', u'ID99', u'Savings', u'300', u'-120', u'Not Useful'], [u'DB', u'44', u'', 2.628, u'333.333.333.333', u'240', u'ID77', u'Savings', u'3371', u'-440', u'Not Useful']]
Upvotes: 3
Views: 2945
Reputation: 309841
Does ast.literal_eval() work with list of dictionaries?
>>> import ast
>>> s = """[{'x': 1}, {'y': 2}]"""
>>> ast.literal_eval(s)
[{'x': 1}, {'y': 2}]
Yes.
And, for what it's worth, you sample data (which is a list of lists) works for me as well:
>>> s = """[[u'ABN', u'12', u'', 2.69, u'222.222.222.222', u'253', u'ID99', u'Savings', u'300', u'-120', u'Not Useful'], [u'DB', u'44', u'', 2.628, u'333.333.333.333', u'240', u'ID77', u'Savings', u'3371', u'-440', u'Not Useful']]"""
>>> import ast
>>> ast.literal_eval(s)
[[u'ABN', u'12', u'', 2.69, u'222.222.222.222', u'253', u'ID99', u'Savings', u'300', u'-120', u'Not Useful'], [u'DB', u'44', u'', 2.628, u'333.333.333.333', u'240', u'ID77', u'Savings', u'3371', u'-440', u'Not Useful']]
Upvotes: 3