[英]I keep on getting a KeyError in Python
我不斷收到 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","") 如果沒有 email,它將只返回一個空字符串。
您也可以在 append 之前進行檢查,這樣您就不會通過執行將 empy 項目添加到列表中
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 的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.