python csv.dictreader未读入
我正在尝试读取我以前使用DictWriter创建的csv文件,它似乎还可以:python csv.dictreader未读入,python,csv,keyerror,Python,Csv,Keyerror,我正在尝试读取我以前使用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
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'},因此我得到了一个keyrerror:'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()
我已经打印了路径以验证它是否正确,它确实正确,因此我不知道如何解决这个问题。您应该使用
文件调用csv.DictReader()
,而不是路径
如果将path
传递给csv.DictReader()
,csv.DictReader()
将解析字符串path
本身,而不是位于path
的文件
以下是您的代码的正确版本:
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"])
您应该使用文件调用csv.DictReader()
,而不是路径
如果将path
传递给csv.DictReader()
,csv.DictReader()
将解析字符串path
本身,而不是位于path
的文件
以下是您的代码的正确版本:
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"])
请删除文件。关闭()
:使用打开的文件将自动关闭。如果使用路径名创建读卡器,为什么要打开文件?是吗?我不知道它会自动关闭。我会纠正的,谢谢请删除file.close()
:使用with
打开的文件会自动关闭。如果使用路径名创建读卡器,为什么要打开文件?是吗?我不知道它会自动关闭。我会改正的,谢谢你!昨天我花了10个小时编写代码,尽管我花了将近一个小时寻找,但我没有看到那个大错误。我应该多休息一会儿!昨天我花了10个小时编写代码,尽管我花了将近一个小时寻找,但我没有看到那个大错误。我应该经常休息