【问题标题】:Writing dictionnary of dataframe into an excel file produce error将数据框字典写入 excel 文件会产生错误
【发布时间】: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 不存在。也许你能帮帮我?

【问题讨论】:

    标签: python excel pandas dictionary


    【解决方案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")
    

    【讨论】:

    猜你喜欢
    • 2019-08-06
    • 2021-05-16
    • 2015-09-22
    • 2017-07-11
    • 2018-11-20
    • 2019-05-10
    • 1970-01-01
    • 2023-03-27
    • 2016-02-16
    相关资源
    最近更新 更多