首页 > 解决方案 > python无法识别引用的变量

问题描述

我正在开发一个与 ; 分离的csv。当我尝试执行以下代码时

def accomodate(fil, targets):
    l = fil
    io = []
    ret = []
    for e in range(len(l)):
        io.append(l[e].split(";"))
    for e in io:
        ter = []
        for theta in range(len(e)):
            if targets.count(theta) > 0:
                ter.append(e[theta])
        ret.append(ter)

    return ret

,作为 'fil' 读取的 csv 文件的行和 'targets' 一个包含要选择的列的列表。在将拆分应用于 csv 文件时,它会引发以下错误:“'l' name is not defined”,而据我所知,'l' 变量已被定义。

有谁知道为什么会这样?预先感谢


编辑


正如你们许多人所要求的,我将提供一个例子。我将发布一个 csv 示例,而不是原始示例的碎片。它已经上市

k = ["Cookies;Brioche;Pudding;Pie","Dog;Cat;Bird;Fish","Boat;Car;Plane;Skate"]

accomodate(k, [1,2]) = [[Brioche, Pudding], [Cat, Bird], [Car, Plane]]

标签: python-3.xcsv

解决方案


您应该复制fil列表的内容:

l = fil.copy()

推荐阅读