Eri*_*icA 2 python function dataframe
我有下面的代码,它不返回在主模块中创建的数据框。有人可以帮忙解决可能是什么问题吗?如果不在main()
该功能中工作正常。我不确定这里错过了什么。我正在 Jupyter 笔记本中测试此代码,并尝试在新单元格中调用exceldf
import package as pkg
def main():
list1, list2= pkg.somefunction()
exceldf = pkg.functiontoloadexcelfiles.function(parameter1, parameter2)
Run Code Online (Sandbox Code Playgroud)
我希望看到数据,exceldf
但出现错误"name 'exceldf' is not defined"
。
编辑 :
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_26012/684895253.py in <module>
----> 1 exceldf
NameError: name 'exceldf' is not defined
Run Code Online (Sandbox Code Playgroud)
上面的代码在不包含在 main 函数中时运行良好。
list1,list2= pkg.somefunction()
exceldf = pkg.functiontoloadexcelfiles.function(parameter1,parameter2)
exceldf.head()
Run Code Online (Sandbox Code Playgroud)
下面解决了这个问题
import package as pkg
def main():
global exceldf
list1, list2= pkg.somefunction()
exceldf = pkg.functiontoloadexcelfiles.function(parameter1, parameter2)
Run Code Online (Sandbox Code Playgroud)
小智 5
exceldf
仅在本地声明main()
,因此您必须声明exceldf
为全局变量或exceldf
从main()
函数返回。
import package as pkg
def main():
list1, list2= pkg.somefunction()
exceldf = pkg.functiontoloadexcelfiles.function(parameter1, parameter2)
return exceldf
exceldf = main()
exceldf.head()
Run Code Online (Sandbox Code Playgroud)