Python 函数:从数据帧中查找列名称

Python 函数:从数据帧中查找列名称,python,function,dataframe,syntax,columnname,Python,Function,Dataframe,Syntax,Columnname,这就是我得到的错误: SyntaxError:无效语法 我试图将变量dataname传递给函数Colnames,以便它返回各个dataframe的列名称。我想显示一条关于无效用户输入的错误消息,但是我把语法搞砸了。我认为逻辑应该是正确的?我尝试了If语句,有括号和没有括号 def Colnames(dataname): If (dataname == 'df1'): data_cols = df1.columns Elif (dataname == 'df2'): data_co

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

我试图将变量dataname传递给函数Colnames,以便它返回各个dataframe的列名称。我想显示一条关于无效用户输入的错误消息,但是我把语法搞砸了。我认为逻辑应该是正确的?我尝试了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

非常感谢。我还想要一种在显示列名称时摆脱索引格式的方法。我下面的回答似乎解决了这个问题。我也抛弃了tkinter留言箱。
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')