【发布时间】:2016-01-14 19:20:39
【问题描述】:
我有一个没有扩展名的文件,其中包含这样的行(忽略行之间的间距,但每一行都是单独的行):
OrderedDict([('key1', u'value1'), ('key2', 'value2')])
OrderedDict([('key1', u'value1'), ('key2', 'value2')])
OrderedDict([('key1', u'value1'), ('key2', 'value2')])
当我将它导入 Python 时
snap_fh = open("C:\Users\.......")
for row in snap_fh:
print(type(row))
行是"strings",我无法将其解析为OrderedDictionary
"OrderedDict([('key1', u'value1'), ('key2', 'value2'))])\n"
如何将其导入为OrderedDict
ast.literal_eval(row) 没用!
【问题讨论】:
-
ast.literal_eval不起作用,因为它评估文字,而OrderedDict(...)不是文字。附带说明,如果您可以控制文件格式,则应使用不同的表示形式。 -
您可以将文件的格式更改为只是元组对吗?
[('key1', 'value1'), ('key2', 'value2')] -
乍得,我自己以流式方式创建了对象,并使用 Orderedict 来保留键的顺序......理想情况下,我想逐行创建一个 json,每行都是一个纯字典,但是我也不知道该怎么做。
标签: python string import ordereddictionary