2017-01-26 57 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(): 

但如果可能的话,我会做这个之前创造的字典条目。