python-3.x - 为不同的用户定义函数 def 调用对象
问题描述
我一直在尝试调用对象变量“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
解决方案
您的函数没有返回任何内容。因此,在您离开该功能后,您将结束范围并垃圾收集所有内容(摆脱它)。您还没有发布用于运行这两个函数的代码。您可以尝试以下方法:
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)
推荐阅读
- r - 是否有一个 R 函数可以根据一个列变量查找生成列值?
- yaml - 具有多个文件的 YML:未处理的拒绝 YAMLException:重复的映射键
- bash - `read` builtin 不保留仅是空格的输入
- elixir - is with 和 try/rescue 在长生不老药中可以相同
- excel - Excel VBA中的引用范围
- python - 正则表达式:匹配除转义字符之外的所有内容
- javascript - 有没有办法获取一个函数可能访问的对象的所有属性?
- c - 我正在尝试确定在 do-while 中输入的学生人数,并在循环外显示数字
- sql - 为什么我的在线 SQL 编辑器看不懂 group_concat_max_len?
- csv - 如果存在,我如何删除/回收/删除 csv 文件