我有一个带有行的excel文档,类似于:
{MGY: {1: 85, 2: 15}}
{MGY: {1:85, 2:15}, MWH: {1:99, 2:1}, MDE: {1:60, 2:40}, MIN: {1:60, 2:40}}
{MGY: {1:85, 2:15}}
{MWH: {1:99, 2:1}}
{MGY: {1:85, 2:15}}
当我尝试使用将行转换为字典时,以下代码:
^{pr2}$我得到了以下回溯:
Traceback (most recent call last):
File "styles_fabric.py", line 194, in <module>
styleMeta = fabric_composition(style)
File "styles_fabric.py", line 185, in fabric_composition
melange_items = ast.literal_eval(dd)
File "/usr/lib/python2.7/ast.py", line 80, in literal_eval
return _convert(node_or_string)
File "/usr/lib/python2.7/ast.py", line 63, in _convert
in zip(node.keys, node.values))
File "/usr/lib/python2.7/ast.py", line 62, in <genexpr>
return dict((_convert(k), _convert(v)) for k, v
File "/usr/lib/python2.7/ast.py", line 79, in _convert
raise ValueError('malformed string')
ValueError: malformed string
什么是正确的方法来提取,转换字典中的字符串?在
我认为应该使用JSON而不是Python表示来将数据保存为字符串
JSON就是为这个目的而设计的,所以
json
包的作者很有可能考虑将数据保存为字符串的所有方面。ast
的作者可能正在考虑源代码。在尝试使用Yaml for Python来处理不支持的json数据, 下面是一个例子:
我想你是想用引号把钥匙包起来:
ast.literal_eval
可以解析字符串文本,但是MGY本身对它没有任何意义。在相关问题 更多 >
编程相关推荐