我有问题。这些是我有的大text.txt文件的前几行:https://pastebin.com/UV7UiU5M,我需要打开它作为一个字典来迭代它,并获得值。我试着用如何在python中将文本文件打开为dict?
for line in open('/home/conacons/Documents/products_with_stocks.txt'):
name = line.split()
for i in name[0:2]:
print i
,我也得到:
{
'BranchId':
'1',
'ArticleId':
'50375476',
'EAN':
'4029044771246',
'Price':
Decimal('299.95000'),
'Stock':
Decimal('1.00000'),
'ReservedStock':
Decimal('0'),
'LastMove':
datetime.datetime(2017,
},
,但它不是迭代,我不能使用的值。
编辑:
我得到了一段代码来写入文件。它看起来像这样:
for n in range(0,650):
req['IterationConstraints']['BlockIndex'] = n
articles = client.service.GetArticles(req)
f.write(str(articles))
只是一个想法,也许'eval'函数工作,如果你把该输入作为一个字符串。 – silgon
这个文本文件的来源是什么?您应该使用某种现有的支持格式(例如“JSON”或“pickle”)对您的数据进行序列化。相反,它看起来像有人把一些嵌套的'dict'的漂亮输出转储到文本文件。这不是你应该做的*。使用'eval'解决一些解决方案非常简单,但首先你不应该处于这个位置,但是你必须将正确的类型导入到全局名称空间中,比如'Decimal'和'datetime .datetime' –
还有一个'json解码器',你可以检查,因为你试图读取的格式似乎是一个json – silgon