首页 > 解决方案 > 功能:使参数可执行

问题描述

所以我有以下代码。它应该导出一个 excel 文件,但命名不起作用。虽然内容还可以。该文件名为“Empty DataFrame Columns: [Column1, Column2] Index: [].xlsx”

它应该命名为 testDF.xlsx。有简单的解决方案吗?

import pandas as pd

ExportExcelParam = 1;

testDF = pd.DataFrame(columns=['Column1','Column2'], dtype=object)


def ExcelExportDF(Dataframe, ExportExcelParam):
    if ExportExcelParam == 1: 
        Filename = str(Dataframe) + ".xlsx"
        Dataframe.to_excel(Filename)


ExcelExportDF(testDF, ExportExcelParam)

标签: pythonfunctionarguments

解决方案


那是因为testDF不是字符串,它只是变量的名称。现在该变量包含 a DataFrame,因此当您使用 时str(),它会尝试提供一个表示DataFrame自身的合理字符串。

一个简单的解决方案是将名称作为字符串传递到附加参数中。是的,它需要输入两次名称,但这可能是最安全和最直接的选项,除非您可以从其他地方检索名称。

def ExcelExportDF(Dataframe, Filename, ExportExcelParam):
    if ExportExcelParam == 1: 
        Dataframe.to_excel(Filename + ".xlsx")


ExcelExportDF(testDF, 'testDF', ExportExcelParam)

编辑:刚看到评论。如果你知道你在做什么,也许可以工作。


推荐阅读