2017-01-26 55 views
-1

我試圖匹配字典的keys與excel cells將字典的鍵與excel列匹配,只匹配6箇中的4個?

for key in dictionary_test.keys(): 
    os.chdir("C:\Python34") 
    wb = load_workbook("Trying web.xlsx") 
    ws = wb.active 
    for row in ws.iter_rows(): 
     for cell in row: 
      if key == cell.value: 
       print("found match") 
       print(dictionary_test[key]) 

當我運行上述操作時,我得到四個匹配項。雖然應該有6

我試圖檢查cell.valuekey S:

for key in dictionary_test.keys(): 
    print(key) 

聯繫人

地址

電話

移動

公司

電話聯繫

excel文件具有以下:

A1 =公司

B1 =移動

C1 =電話

D1 =聯繫Pe rson

E1 =呼叫我們

F1 =地址

聯繫人和地址,不配套。

+1

你檢查過後面的空格嗎?這會導致用於字符串的==生成False。 – fnokke

+0

這就是它!謝謝。現在試圖找出如何從字典鍵中刪除空格。請發佈最後的白色答案作爲答案,我可以接受它。 – Sid

+0

可能的重複[比較多個列表及其項目以超越單元值,如果不存在將列表項目寫入新行,正確的方法?](http://stackoverflow.com/questions/41850671/comparing-multiple-lists-和他們的項目,以Excel的單元格值,如果沒有當前-Wr) –

回答

0

尾隨空格的差異將導致匹配運算符==產生False

從字典鍵簡單地使用剝除空白:

if key.strip() == cell.value.strip(): 

但如果可能的話,我會做這個之前創造的字典條目。