python - 将数据框字典写入excel文件会产生错误

标签 python excel pandas dictionary

我有一个字典,其中键是字符串,值是数据框( 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}

我得到什么:
enter image description here
如您所见,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/

相关文章:

javascript - 如何使用nodejs从项目/特定位置下载文件?

python-3.x - 从一组选定的行中获取 NaN 值的索引

python - Pandas groupby 排序以获取前两个最小值的行

python - 如何从 Anaconda 更新 Pandas,最后是否可以使用 eclipse

python - 如何使用 python 和 sqlite3 创建新数据库

java - Android中使用Apache POI读取excel文件的依赖

python - 从 Azure Datafactory 管道中的 Databricks Notebook 获取异常

sql-server - SSIS:截断 Excel 目标

python - 如何将任何数字四舍五入到最接近的 5 的倍数?

python - pycparser 无法解析 gcc 可以处理的一些语法