功能:使参数可执行

Function: make argument executable

所以我有以下代码。它应该导出一个 excel 文件,但命名不起作用。虽然内容还行。 该文件名为 "Empty DataFrame 列:[Column1,Column2] 索引:[].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)

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

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

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


ExcelExportDF(testDF, 'testDF', ExportExcelParam)

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