我有一个字典,其中键是字符串,值是数据框( Pandas 数据系列)。我想将整个字典写入一个 excel 文件。
我希望每个键都是文件的工作表名,并且每个值都在工作表中报告。但是下面的代码只是添加了最后一个键和值并省略了其他的。
for key, val in dico2.items():
#print(key)
#print(val)
print(type(val))
val.to_excel(outdir_report + "/report_for_{}.xlsx".format(n), sheet_name=key, encoding ="utf-8")
迪科dico2 = {'Model_SVC_ovr': C F M accuracy macro avg weighted avg
precision 0.625000 0.0 0.500000 0.5 0.375000 0.402778
recall 0.833333 0.0 0.571429 0.5 0.468254 0.500000
f1-score 0.714286 0.0 0.533333 0.5 0.415873 0.445503
support 6.000000 5.0 7.000000 0.5 18.000000 18.000000, 'Model_SVC_ov': C F M accuracy macro avg weighted avg
precision 0.625000 0.0 0.500000 0.5 0.375000 0.402778
recall 0.833333 0.0 0.571429 0.5 0.468254 0.500000
f1-score 0.714286 0.0 0.533333 0.5 0.415873 0.445503
support 6.000000 5.0 7.000000 0.5 18.000000 18.000000}
我得到什么:如您所见,model_ovr 的 sheetname 不存在。也许你能帮助我?
最佳答案
您正在创建一个新的 Excel 文件,而不是写入现有的文件。这就是为什么只有最后一个出现的原因。您可以创建一个作家并使用它来编写所有工作表:
with pd.ExcelWriter(outdir_report + "/report_for_{}.xlsx".format(n)) as writer:
for key, val in dico2.items():
val.to_excel(writer, sheet_name=key, encoding ="utf-8")
关于python - 将数据框字典写入excel文件会产生错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67337009/