如何将文本文件转换为字典 示例文本文件是
{'name': 'sk', 'confirm': 'sk', 'passwd': 'sk', 'phone': 'sk', 'uname': 'sk', 'email': 'sk'}
{'name': 'skak', 'confirm': 'ak', 'passwd': 'ak', 'phone': 'ak', 'uname': 'ak', 'email': 'ak'}
和 因为我正在使用代码
d = dict((line.strip().split(' = ') for line in file('raw_data')))
print(d)
我收到了这个错误
Traceback (most recent call last):
File "test.py", line 1, in <module>
d = dict((line.strip().split(' = ') for line in file('raw_data')))
ValueError: dictionary update sequence element #0 has length 1; 2 is required
请帮我解决这个错误
答案 0 :(得分:0)
对数据文件进行评估。如果您对文本文件没有完全控制和信心,请不要这样做:
with open('datafile.txt') as f:
for line in f:
d = eval(line)
print d
输出:
{'name': 'sk', 'uname': 'sk', 'passwd': 'sk', 'confirm': 'sk', 'phone': 'sk', 'email': 'sk'}
{'name': 'skak', 'confirm': 'ak', 'passwd': 'ak', 'phone': 'ak', 'uname': 'ak', 'email': 'ak'}
将单引号替换为double并将其读作json会更安全。
import json
d = json.loads(line.replace("'", '"'))