关于#python#的问题:data_list.update({s_data_list['姓名'][i]:s_data_list['数量'][i]})

dif为什么始终是空字典


import pandas as pd
def sour():#从自己的记录中读取数据并返回字典
    s=pd.read_excel(io=r'C:\Users\悟道号\Desktop\source.xlsx',usecols=['姓名','数量'])#读取源文件相应列
    s_data_list=s.to_dict()#形成字典
    s.shape
    data_list={}
    i=0
    while i < s.shape[0]:
        data_list.update({s_data_list['姓名'][i]:s_data_list['数量'][i]})
        i+=1
    return data_list

def dis():#从销售数据中读取数据并形成字典
    s=pd.read_excel(io=r'C:\Users\悟道号\Desktop\distance.xlsx',usecols=['姓名','支数'])#读取源文件
    s_data_list = s.to_dict()  # 形成字典
    s.shape
    data_list = {}
    i = 0
    while i < s.shape[0]:
        data_list.update({s_data_list['姓名'][i]: s_data_list['支数'][i]})
        i += 1
    return data_list



s=sour()
d=dis()
key1=list(s.keys())
key2=list(d.keys())
key=[]
dif = {}



# 比较名单看是否有缺失
for i in range(0,len(key1)):

    if key1[i] in key2:
    **    if s[key1[i]]!= d[key1[i]]:
            dif.update({key1[i]: (s[key1[i]], d[key1[i]])})**
            

    key.append(key1[i])
 

# print(key1)
# print(key2)

print('以下为遗漏病人名单:',key)
print(dif)


1销售数据中的姓名和源数据中的姓名不完全匹配,例如有空格或者大小写不同等导致无法匹配。可以采用strip()函数去除字符串两端的空格
2销售数据中所有的姓名在源数据中都存在且对应的数量相同。