python – 如何将文本文件提取到字典中
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 如何将文本文件提取到字典中,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1756字,纯文字阅读大概需要3分钟。
内容图文
我想知道如何在python中将文本提取到字典中.文本文件的格式如下(见下文)并以方式提取,以便对象地球例如是键,其半径,周期和所有都在其键内.
RootObject: Sun
Object: Sun
Satellites: Mercury,Venus,Earth,Mars,Jupiter,Saturn,Uranus,Neptune,Ceres,Pluto,Haumea,Makemake,Eris
Radius: 20890260
Orbital Radius: 0
Object: Earth
Orbital Radius: 77098290
Period: 365.256363004
Radius: 6371000.0
Satellites: Moon
Object: Moon
Orbital Radius: 18128500
Radius: 1737000.10
Period: 27.321582
解决方法:
nk="""
RootObject: Sun
Object: Sun
Satellites: Mercury,Venus,Earth,Mars,Jupiter,Saturn,Uranus,Neptune,Ceres,Pluto,Haumea,Makemake,Eris
Radius: 20890260
Orbital Radius: 0
Object: Earth
Orbital Radius: 77098290
Period: 365.256363004
Radius: 6371000.0
Satellites: Moon
Object: Moon
Orbital Radius: 18128500
Radius: 1737000.10
Period: 27.321582
"""
my_test_dict={}
for x in nk.splitlines():
if ':' in x:
if x.split(':')[0].strip()=='RootObject':
root_obj=x.split(':')[1].strip()
elif x.split(':')[0].strip()=='Object':
my_test_dict[x.split(':')[1].strip()]={}
current_dict=x.split(':')[1].strip()
if x.split(':')[1].strip()!=root_obj:
for x1 in my_test_dict:
if 'Satellites' in my_test_dict[x1]:
if x.split(':')[1].strip() in my_test_dict[x1]['Satellites'].split(','):
my_test_dict[x.split(':')[1].strip()]['RootObject']=x1
else:
my_test_dict[current_dict][x.split(':')[0].strip()]=x.split(':')[1].strip()
print my_test_dict
输出:
{
'Sun':
{
'Satellites': 'Mercury,Venus,Earth,Mars,Jupiter,Saturn,Uranus,Neptune,Ceres,Pluto,Haumea,Makemake,Eris',
'Orbital Radius': '0',
'Radius': '20890260'
},
'Moon':
{
'Orbital Radius': '18128500',
'Radius': '1737000.10',
'Period': '27.321582',
'RootObject': 'Earth'
},
'Earth':
{
'Satellites': 'Moon',
'Orbital Radius': '77098290',
'Radius': '6371000.0',
'Period': '365.256363004',
'RootObject': 'Sun'
}
}
内容总结
以上是互联网集市为您收集整理的python – 如何将文本文件提取到字典中全部内容,希望文章能够帮你解决python – 如何将文本文件提取到字典中所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。