簡體   English   中英

我不斷收到 Python 中的 KeyError

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM