在Python中将文件拆分为字典

1 python parsing dictionary split

我只是一个初学python用户,所以我很抱歉这是一个相当简单的问题.我有一个文件,其中包含两个由选项卡分隔的列表.我想将它存储在字典中,因此每个条目都与选项卡后面的相应条目相关联,这样:

cat hat
mouse bowl
rat nose
monkey uniform
dog whiskers
elephant dance
Run Code Online (Sandbox Code Playgroud)

将分为

{'cat'; 'hat', 'mouse' ; 'bowl') etc. etc. 
Run Code Online (Sandbox Code Playgroud)

这是一个很长的清单.

这是我试过的:

enhancerTAD = open('TAD_to_enhancer.map', 'r')
list = enhancerTAD.split()

for entry in list:
    key, val = entry.split('\t')
    ET[key] = val

print ET
Run Code Online (Sandbox Code Playgroud)

这是我最近的尝试,以及我在下面的错误消息:

enhancerTAD = open('TAD_to_enhancer.map', 'r').read()
ET = {}
lst = enhancerTAD.split("\n")
for entry in lst:
  key, val = entry.strip().split(' ',1)
  ET[key] = val

enhancergene = open('enhancer_to_gene_map.txt', 'r').read()
GE = {}
lst1 = enhancergene.split("\n")
for entry in lst1:
  key, val = entry.strip().split(' ',1)
  GE[key] = val

geneTAD = open('TAD_to_gene_map.txt', 'r').read()
GT = {}
lst2 = geneTAD.split("\n")
for entry in lst2:
  key, val = entry.strip().split(' ',1)
  GT[key] = val
Run Code Online (Sandbox Code Playgroud)

文件"enhancertadmaybe.py",第13行,在key中,val = entry.strip().split('',1)ValueError:需要多于1个值才能解压缩

Jun*_*sor 5

你可以试试:

with open('foo.txt', 'r') as f:
    print dict(line.strip().split('\t', 1) for line in f)
Run Code Online (Sandbox Code Playgroud)

结果:

{'monkey': 'uniform', 'dog': 'whiskers', 'cat': 'hat', 'rat': 'nose', 'elephant': 'dance', 'mouse': 'bowl'}
Run Code Online (Sandbox Code Playgroud)