python csv.dictreader 不读

python csv.dictreader not readin

我正在尝试读取我之前使用 DictWriter 创建的 csv 文件,它似乎没问题:

Long,Lat,Value
-4.46811978,36.71191819,21.836857418129924
-4.46829768,36.71214269,1.437288805738615
-4.46858762,36.71216232,1.4251383119025087
-4.46893456,36.71041284,1.4248025480555202
-4.46896851,36.71016468,0.00885256853534053

问题是我在尝试读取时得到 {'/': 'h'},所以我得到一个 KeyError: 'Value',因为其中没有 Value 键词典:

with open(path,'r') as file:
    csv_file = csv.DictReader(path)
    for line in csv_file:
        print line
        values.append(line["Value"])
        lat_long.append(line["Lat"],line["Long"])
    file.close()

我已经打印了路径以验证它是正确的,确实如此,所以我不知道如何解决这个问题。

您应该用 file 调用 csv.DictReader() 而不是 path

如果将 path 传递给 csv.DictReader()csv.DictReader() 将解析字符串 path 本身,而不是位于 path.[=19 的文件=]

这是您的代码的正确版本:

with open(path,'r') as file:
    csv_file = csv.DictReader(file)
    for line in csv_file:
        print line
        values.append(line["Value"])
        lat_long.append(line["Lat"],line["Long"])