将数据框字典写入 excel 文件会产生错误
Posted
技术标签:
【中文标题】将数据框字典写入 excel 文件会产生错误【英文标题】:Writing dictionnary of dataframe into an excel file produce error 【发布时间】:2021-07-23 23:32:34 【问题描述】:我有一个字典,其中键是字符串,值是数据框(熊猫数据系列)。我想将整个字典写入一个 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 不存在。也许你能帮帮我?
【问题讨论】:
【参考方案1】:您正在创建一个新的 Excel 文件,而不是写入现有的文件。这就是为什么只有最后一个出现。您可以创建一个 writer 并使用它来编写所有工作表:
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")
【讨论】:
谢谢,您认为可以在同一张纸上写而不是在另一张纸上写,我应该使用将键设置为相同吗? @kely789456123 考虑这种方法:datascience.stackexchange.com/questions/46437/…以上是关于将数据框字典写入 excel 文件会产生错误的主要内容,如果未能解决你的问题,请参考以下文章