如果我正在阅读包含三列的文件,请执行以下操作:
james 1.0 2.5
Tom 2.0 2.1
Ryan 3.0 2.5
我无法弄清楚如何将第一列作为我的字典的键(作为字符串)和接下来的2列(作为浮点数)我的值。我知道如何只使用两列,但我对如何使用3感到困惑。
到目前为止,这是我的代码:
def makeDict(filename):
with open(filename) as f:
sDict = dict(x.rstrip().split(None,1) for x in f)
return(sDict)
filename.close()
答案 0 :(得分:1)
怎么样:
with open(filename) as f:
return {k:[v1,v2] for k,v1,v2 in (x.rstrip().split() for line in f)}
答案 1 :(得分:1)
dict = {}
f = open(file)
for line in f:
line = line.split()
dict[line[0]] = line[1:]
f.close()
答案 2 :(得分:1)
怎么样:
def makeDict(filename):
with open(filename) as f:
return {row[0]: [float(x) for x in row[1:]]
for row in (line.rstrip().split() for line in f)}
要打破它...在这里我们正在阅读这些行并将它们拆分为空白
(line.rstrip().split() for line in f)
然后我们迭代它并将第一个项目作为键,同时将所有其他项目转换为浮点数。
答案 3 :(得分:0)
基本上,读入文件,拆分空格,然后使用字典理解创建字典。
MockingDetails
答案 4 :(得分:0)
将pandas导入为pd
d = pd.DataFrame({'col1header':list1,'col2header':list2},index = namelist)
假设namelist = [james,tom,ryan]