python读取csv时keyerror_当CSV文件正确放置并且CSV fi中存在密钥时引发KeyError

我有这个Python代码:import csv

csvfile = 'stations-nl-2014-01.csv'

try:

f = open(csvfile, 'r')

reader = csv.DictReader(f, delimiter=';')

for row in reader:

print(row['name'], '--', row['type'])

finally:

f.close()

我可以使用常规的csv.reader()方法,但我被告知使用csv.DictReader()是最佳实践,因为您可以根据列的名称来选择列,这使代码更具可读性。但是,当我使用普通的csv.reader()方法时,不会显示任何错误。使用听写器时,会出现以下错误:

print(row['name'], '--', row['type'])

KeyError: 'name'

当我将代码更改为:import csv

csvfile = 'stations-nl-2014-01.csv'

try:

f = open(csvfile, 'r')

reader = csv.reader(f, delimiter=';')

for row in reader:

print(row)

finally:

f.close()

…一切正常。但是使用csv.DictReader()并按列名选择行会引发错误。有人知道怎么解决这个问题吗?我已经仔细检查了.csv文件的路径和列名,结果都是正确的(在没有听写器的情况下可以正常工作)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值