我有一个文本文件,看起来像这样:
Monstera Deliciosa
2018-11-03 18:21:26
Tropical/sub-Tropical plant
Leathery leaves, mid to dark green
Moist and well-draining soil
Semi-shade/full shade light requirements
Water only when top 2 inches of soil is dry
Intolerant to root rot
Propagate by cuttings in water
Strelitzia Nicolai (White Birds of Paradise)
2018-11-05 10:12:15
Semi-shade, full sun
Dark green leathery leaves
Like lots of water,but soil cannot be water-logged
Like to be root bound in pot
Alocasia Macrorrhizos
2019-01-03 15:29:10
Tropical asia
Moist and well-draining soil
Leaves and stem toxic upon ingestion
Semi-shade, full sun
Like lots of water, less susceptible to root rot
Susceptible to spider mites
我想用这个文件创建一个字典,其中植物的名称作为字典的键,其余信息作为值放在一个列表中。到目前为止,我已经设法将每种植物及其各自的信息作为列表中的一个项目,但我不知道如何将其转换为字典
with open('myplants.txt', 'r') as f:
contents = f.read()
contents = contents.rstrip().split('\n\n')
contents = [x.replace('\n', ', ') for x in contents]
print(contents)#[0].split(',',0)[0])
预期产出:
plants = {'Monstera Deliciosa':['2018-11-03 18:21:26', 'Tropical/sub-Tropical plant', 'Leathery leaves, mid to dark green', 'Moist and well-draining soil', 'Semi-shade/full shade light requirements', 'Water only when top 2 inches of soil is dry', 'Intolerant to root rot', 'Propagate by cuttings in water'], 'Strelitzia Nicolai (White Birds of Paradise)': ... }
我对更好的字典格式持开放态度
像这样的东西行吗
使用字典理解:
返回:
这是一个可扩展的解决方案,可以避免在内存中读取整个文件
它利用了一个事实,即文本文件可以用作产生每一行的迭代器
产生
相关问题 更多 >
编程相关推荐