首页 > 解决方案 > 如何编写一个函数,该函数将返回包含从文本文件加载的数据的字典

问题描述

这就是我到目前为止所拥有的,现在我得到 sankey 没有定义。

    def makeSankey (inf):

     sankey = {}
     with open("file.txt") as f:
         for line in f:
            (key, val) = line.split()
            sankey[str(key)] = val



     return makeSankey()

    for i in sankey():
     print(i),sankey[i]`

文本文件如下所示:

    Single,2106
    Double,603
    Triple,44
    Home Run,431
    Walk / HBP,1402
    Sacrifice Out,137
    Other Out,8160

标签: python

解决方案


首先,你不能sankey在函数之外访问。您不能调用sankey,因为它不是您的函数名称,即makeSankey. 您的意思return makeSankey可能是返回值,该值存储在sankeyso youreturn sankey中。

您在固定条件下的代码应该是这样的,我仍然不确定输入是否与您提供的相同,但您可以尝试一下:

def makeSankey(fileName):
    sankey = {}
    with open(fileName) as f:
        for line in f:
            (key, val) = line.split()
            sankey[key] = val
    return sankey

data = makeSankey("file.txt")

for i in data:
    print(i, data[i])

推荐阅读