如何解决如何将文本文件转换为字典
我想将以下文本文件解析为字典:
Train A
Travelled 150km
No longer in use
Stored in warehouse
Train B
Travelled 100km
Used by X company
Daily usage
Actively upgrading
最终结果字典应以Train A
和Train B
作为键,其余值作为值列表:
{
'Train A': ['Travelled 150km','No longer in use','Stored in warehouse'],'Train B': ['Travelled 100km','Used by X company','Daily usage','Actively upgrading']
}
我目前正在尝试
with open('file.txt') as f:
data = f.read().split('\n')
dict = {}
for i in data:
key = i[0]
value = i[1:]
d[key] = value
print(dict)
真的不太确定我在哪里错了。我想在火车A之后拆分\ n,其中火车A是密钥,列出的所有其他信息是值
解决方法
您的单位用空白行分隔-因此,您应该首先用两行换行,而不是一行。以下实现方式效率不高(将相同的变量拆分两次),但是可以运行,并且可以根据需要进行改进:
[{x.split("\n")[0]: x.split("\n")[1:]} for x in data.split("\n\n")]
#[{'Train A': ['Travelled 150km','No longer in use',# 'Stored in warehouse']},# {'Train B': ['Travelled 100km','Used by X company',# 'Daily usage','Actively upgrading'}]
,
您很近。您需要先使用空行('\n\n'
)分割文件,然后再继续您的想法。
with open('file.txt') as f:
data = f.read().split('\n\n') # <=== this is what's missing
print(data)
d = {}
for i in data:
i = i.split('\n')
key = i[0]
value = i[1:]
d[key] = value
print(d)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。