为不同的用户定义函数def调用对象

时间:2019-06-29 09:02:21

标签: python-3.x

我一直在尝试调用对象变量'file1',该对象变量具有来自askfileopen()的文件路径,并希望通过不同的按钮对该文件执行一些不同的操作,但是它不起作用

我试图使file1成为全局文件,但由于我运行代码,askopen突然打开,因此我想调用file1,该文件具有从mfileopen到mfile0的导入文件路径

def mfileopen():
   file1 = fdialog.askopenfile(filetypes=[("csv files", "*.csv"), 
                                          ("xlsx files", "*.xlsx")])


def mfile0(): 
   df = pd.read_csv(file1)
   list(df.columns)
   return df.columns

1 个答案:

答案 0 :(得分:0)

您的函数未返回任何内容。因此,在离开函数后,您将终止作用域并进行垃圾回收(将其删除)。您也没有发布用于运行这两个功能的代码。您可以尝试以下方法:

def mfileopen():

    return fdialog.askopenfile(filetypes=[("csv files",".csv"),("xlsx 
    files",".xlsx")])

def mfile0(): 
    file1 = mfileopen()
    df = pd.read_csv(file1) 
    list(df.columns)  # do something here (e.g. print or return)