Error_Coding
Error_Coding

Reputation: 273

How ast.literal_eval work on list of dictionaries?

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

Answers (1)

mgilson
mgilson

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

Related Questions