【发布时间】:2021-11-19 23:05:15
【问题描述】:
我试图在 python 中编写一个修改字典字典的代码,因此如果内部字典值是从 pandas.DataFrame 获得的 NaN,则删除内部字典的键,但对于一个原因,代码一直显示这个错误
即使我在迭代之前确实将字典复制到另一个变量以避免出现以下代码中出现的任何并发症
def xls_to_dict_of_dict(filename):
df = pd.read_excel(filename)
df.fillna("NotaNumber", inplace=True)
dict_of_dicts = {}
try:
for index, row in df.iterrows():
dict_of_dicts[row[1]] = {}
for i in range(2, len(row)):
dict_of_dicts[row[1]][row[i]] = df.iloc[index + 1][i]
except:
pass
return dict_of_dicts
if __name__ == '__main__':
dict_of_dicts = xls_to_dict_of_dict('Excel.xlsx')
dict_of_dictsTemp = dict_of_dicts.copy()
for k, v in dict_of_dictsTemp.items():
for k2, v2 in v.items():
if v2 == "NotaNumber":
dict_of_dicts[k].pop(k2)
for k, v in dict_of_dicts.items():
for k2, v2 in v.items():
print(k2, v2)
【问题讨论】:
标签: python pandas dictionary data-manipulation