我正在寻找一种python解决方案来转换输入文件并将其原样读取为用PYTHON3编写的程序。我的输入文件包含以下数据: { "h" : ["a","c","e"], "d" : ["d", "a","g"], "e" : ["f", "a", "b", "c"], "b" : ["d","c"], "c" : ["g", "c","a"], "g" : ["w","x","y"] }我尝试了以下a)datafile = open("infile.txt","r").read()错误消息:TypeError:字符串索引必须为整数b)datafile = open("infile.txt","r").readline()错误消息:TypeError:字符串索引必须是整数c)datafile = open("infile.txt","r").readlines()错误消息:TypeError:列表索引必须是整数或切片,而不是str顺便说一句,我是Python的新手。
2 回答
临摹微笑
TA贡献1982条经验 获得超2个赞
您现在应该已经在python中意识到了字典的优势,下面的代码将为您提供帮助。假设您的文件名为file1.txt现在,正如注释中提到的那样,您应该使用json库
with open("file1.txt") as fp: read=json.load(fp)
现在打印读取将为您提供数据字典
print(read)
将打印您的字典
{'g':['w','x','y'],'c':['g','c','a'],'e':['f','a', 'b','c'],'d':['d','a','g'],'h':['a','c','e'],'b':[ 'd','c']}
注意:-不要忘记导入json。
导入json
重要这是一个非常简单的问题。请不要提出这样的问题并为他们赢得反对票
米琪卡哇伊
TA贡献1998条经验 获得超6个赞
一种解决方案是:
import ast
datafile = open("infile.txt","r").read()
values = ast.literal_eval(''.join(datafile.splitlines()))
values['h']
根据Evgeny的建议,您也可以使用json模块:
import json
json_data=open('myfile.txt').read()
data = json.loads(json_data)
print(data['h'])
添加回答
举报
0/150
提交
取消