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销售数据中所有的姓名在源数据中都存在且对应的数量相同。