功能:从 DataFrame 中查找列名

Function: Finding Col names from a DataFrame

这是我遇到的错误:
语法错误:语法无效

我正在尝试将变量数据名传递给函数 Colnames,以便它将 return 相应数据框的列名。我想在无效的用户输入上显示一条错误消息,但我搞砸了语法。我觉得逻辑应该没问题吧?我试过带括号和不带括号的 If 语句

def Colnames(dataname):
If (dataname == 'df1'):
    data_cols = df1.columns
Elif (dataname == 'df2'):
    data_cols = df2.columns
Else:
   tk.messagebox.showerror('Error: User Input. Please Enter df1 or df2')
return print(data_cols)

应该 return df1 的列名与 Colnames(df1)。

有什么想法请指教。谢谢

您有一些缩进和大小写问题 - 这应该有效:

def Colnames(dataname):
    if (dataname == 'df1'):
        data_cols = df1.columns
    elif (dataname == 'df2'):
        data_cols = df2.columns
    else:
        tk.messagebox.showerror('Error: User Input. Please Enter df1 or df2')
    return data_cols
def Colnames(dataname):
    if dataname == 'df1':
        data_cols = df1.columns
        for i in data_cols: 
            print(i)
    elif dataname == 'df2':
        data_cols = df2.columns
        for i in data_cols: 
            print(i)
    else:
        print('Error: User Input. Please Enter df1 or df2')
    return
Colnames('df1')