我不断收到 KeyError 并且不确定我在这里做错了什么??
import csv
list_of_email_addresses = []
with open("users.csv", newline="") as users_csv:
user_reader = csv.DictReader(users_csv)
for row in user_reader:
list_of_email_addresses.append(row["Email"])
键错误意味着您尝试访问的字典没有您用来从中获取值的键。您似乎正在尝试访问行字典的“电子邮件”键。您的 csv 文件的某些行中没有“电子邮件”列,因此会出现此错误。要解决这个问题,您可以执行 row.get("Email","") ,如果没有电子邮件,它只会返回一个空字符串。
您也可以在追加之前进行检查,这样就不会通过执行以下操作将空项目添加到列表中
for row in user_reader:
email = row.get("Email")
if email is None: continue
list_of_email_addresses.append(email)
在Python中,你可以像这样访问字典。
myDict = {1: "foo", 2: "bar"}
print(myDict[1], myDict[2])
>>> foo, bar
我想您的 CSV 文件没有您尝试访问的列作为密钥,这就是引发 KeyError 的原因。