函数:使参数可执行



所以我有以下代码。它应该导出一个excelfile,但命名不起作用。虽然内容还可以。该文件被命名为">";空数据帧列:[第1列,第2列]索引:[].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)

编辑:刚刚看到评论。如果你知道自己在做什么,也许这会奏效。

最新更新