python - 功能:使参数可执行
问题描述
所以我有以下代码。它应该导出一个 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)
解决方案
那是因为testDF
不是字符串,它只是变量的名称。现在该变量包含 a DataFrame
,因此当您使用 时str()
,它会尝试提供一个表示DataFrame
自身的合理字符串。
一个简单的解决方案是将名称作为字符串传递到附加参数中。是的,它需要输入两次名称,但这可能是最安全和最直接的选项,除非您可以从其他地方检索名称。
def ExcelExportDF(Dataframe, Filename, ExportExcelParam):
if ExportExcelParam == 1:
Dataframe.to_excel(Filename + ".xlsx")
ExcelExportDF(testDF, 'testDF', ExportExcelParam)
编辑:刚看到评论。如果你知道你在做什么,也许这可以工作。