导入包含字典

时间:2017-07-26 11:16:27

标签: python

import ast

dict_from_file=[]
with open('4.txt', 'r') as inf:
    dict_from_file = ast.literal_eval(inf.read())

File "<unknown>", line 1
["hello":"work", "please":"work"]
  ^
SyntaxError: invalid character in identifier

大家好!以上是我的代码和我的错误。我有一个非常复杂的40MB数据文件,以字典的形式工作,但无法进行工作,所以尝试了一个简单的。

我在Windows 10上使用最新版Anaconda的最新Jupyter笔记本。我的字典是使用Windows记事本创建的txt文件。复杂的字典最初是一个JSON文件,我改成了一个txt文件,认为它会更容易,但我可能错了。

我认为上述错误是编码问题?但不知道如何解决它。

谢谢!

2 个答案:

答案 0 :(得分:0)

如果您是文件的所有者/写入者(dict格式化),请另存为json

import json

#To write
your_dict = {.....}
with open("file_name.txt", "w+") as f:
    f.write(json.dumps(your_dict)

#To read
with open("file_name.txt") as f:
    read_dict = json.load(f)

答案 1 :(得分:0)

这可能是python 3的“功能”。 该代码在输入文件的开头删除了不需要的字符,并以字符串类型返回输入数据。

with open('4.txt', 'r',,encoding="utf-8-sig") as inf:
    dict_from_file = ast.literal_eval(inf.read())

这将删除读取数据开头的奇怪字符。