2016-03-05 2 views
-2
N-Heptane 100.20 
Hexane 86.17 
Hydrochloric Acid 36.47 
Hydrogen, H2 2.016 
Hydrogen Chloride 36.461 
Hydrogen Sulfide 34.076 
Hydroxyl, OH 17.01 
Krypton 83.80 
Methane, CH4 16.044 
Methyl Alcohol 32.04 
Methyl Butane 72.15 
Methyl Chloride 50.488 
Natural Gas 19.00 
Neon, Ne 20.179 
Nitric Oxide, NO 30.006 
Nitrogen, N2 28.0134 
Nitrous Oxide, NO2 44.012 
N-Octane 114.22 
Oxygen, O2 31.9988 
Ozone 47.998 
N-Pentane 72.15 
Iso-Pentane 72.15 
Propane, C3H8 44.097 
Propylene 42.08 

содержание текста, как это, я хотел бы разделить строку в Молекулярной формуле и молекулярного весКак разбить текстовый файл, подобный этому в python?

например

{"Hydrogen, H2":2.016, "Hydrogen Chloride":36.461, etc........} 

ответ

2

Вы просто перебрать каждую строку и использовать rsplit, чтобы получить последние белую -space в качестве значения словаря. Остальная строка переходит к нему как к ключу.

d = {} 
with open(filename) as f: 
    for line in f: 
     key, value = line.rsplit(None, 1) 
     d[key] = float(value) 
+1

Ваша «краткая форма» немного отличается: она создает '{str: str}', а не '{str: float}'. – GingerPlusPlus

+0

thx много для вашего ответа –

+2

Или, 'di = {k: float (v) для k, v in (line.rsplit (None, 1) для строки в f)}' – dawg

Смежные вопросы