功能:从数据框查找列名

问题描述

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

我试图将变量数据名传递给函数Colnames,以便它将返回相应数据帧的列名。我想在无效的用户输入上显示一条错误消息,但是我搞砸了语法。我认为逻辑应该还可以吗?我尝试了带或不带括号的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)

应使用Colnames(df1)返回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')