2013-10-10 225 views
0

我有一個帶有鍵/值對的.csv文件。我試圖通過調用我的字典來檢查給定的鍵是否在文件中,但我有一個我不太明白的錯誤。任何幫助感謝!檢查單詞是否在字典中

def Dictionary(x): 

    wDictionary = open('file.csv', 'r') 
    for line in wDictionary: 
      mylist = line.split(',') 


    def main(): 

    x = input('enter text:') 
    cd = Dictionary(x) 
    if x in cd: 
      print('yes') 

    main() 

錯誤:

Traceback (most recent call last): 
    File "7.py", line 15, in <module> 
     main() 
    File "7.py", line 12, in main 
     if x in cd: 
TypeError: argument of type 'NoneType' is not iterable 
+2

您也可以使用模塊「csv」,它使讀取和寫入csv文件非常簡單 – darmat

回答

2

既然你不是從Dictionary(x)返回,cd設置爲None。因此錯誤。

一堆其他問題:我會讓你自己修復壓縮。

def Dictionary(x): 

    wDictionary = open('file.csv', 'r') 
    mylist = [] 
    for line in wDictionary.readlines(): 
      mylist.append(line.split(',')) 
    return mylist 


def main(): 

    x = input('enter text:') 
    cd = Dictionary(x) 
    for line in cd: 
     if x in line: 
      print('yes') 

main() 

而且,你不需要參數x送入功能你沒有做任何事的。

1

你沒有在Dictionary(x)中返回任何東西,所以當你讓它在CD上迭代時,Python不知道該怎麼做。