2016-05-17 66 views
-2

我想将文本文件转换为Python中的字典。Python中的文本文件字符串字典

文本文件看起来像这样:

Age  Sex 
------------ 
GT20  M 
LT20  F 

我希望它显示为(Age: GT20, LT20) (Sex: M,F)
有没有办法在Python做到这一点?

+2

是的,有办法在Python做到这一点。你有尝试过什么吗?如果是这样,请显示您到目前为止的代码。 – SiHa

回答

0
import re 

lines=[] 
keys=[] 
values=[] 
with open('data', 'r') as f: 
    lines=list(map(lambda line:line.strip(), f.readlines())) 

d, flag={}, False 
for line in lines: 
    if re.match(r'^-+$', line): 
     flag=True 
     continue 
    if flag: 
     values.append(list(map(lambda x:x.strip(), line.split()))) 
    else: 
     keys=list(map(lambda x:x.strip(), line.split())) 

for i in range(len(keys)): 
    d[keys[i]]=[value[i] for value in values] 
print(d) 

这里是输出:

$ cat data 
Age  Sex 
------------ 
GT20  M 
LT20  F 
$ python3 p.py 
{'Sex': ['M', 'F'], 'Age': ['GT20', 'LT20']}