我在这里和那里混淆了几个词,我的错。这个例子应该能使意图比现在更清楚一点。在
示例: 我的.csv文件名为“文件.csv“:
T2Y;Brad;0001
K5;Jan;0002
T21;En;3838
T22;aps;3804
T11;Jyke;3957
T08;John;3825
K05;Tim;0001
当你这样调用我的函数时:
^{pr2}$您可以调用您要求的值,如下所示:
>>> dict['Brad']['code']
'T2Y'
>>> dict['John']['name']
'John'
我所做的似乎是通过读取.csv文件来创建第一个字典,但是我无法创建一个嵌套字典,它可以按照我的示例所示的方式调用。我试着在下面的漫谈中更深入一点。在
下面是我当前代码如何输出信息,可能是冗余信息
我当前的代码有点混乱,因为我试图动态地将它组成一个嵌套的字典,但是它现在做的正确的是它打开并读取.csv文件,它用“;”分隔行,并使用名称作为键为每行生成一个可调用的字典。但是,当前的障碍是,我只能用一个键,即名称来调用,它将整行作为字典或类似于该部分的内容返回。是这样的:
>>> dict = function("file.csv")
>>> dict['Brad']
'T2Y;Brad;0001\n'
如果我尝试在name键之后添加另一个键,代码将停止并返回错误代码:
TypeError: list indices must be integers or slices, not str
如前所述,这是一个非常简单的问题:您想要用CSV文件中的信息创建一个嵌套字典。由于您没有指定第3列是什么,所以我只将其标记为
id
,并使用一个字符串。我还假设文件中每个名称只包含一行:如果没有,则使用最新的一行。在这将打印:
^{pr2}$相关问题 更多 >
编程相关推荐