python main函数不返回数据框

标签 python dataframe function

我有下面的代码,它不返回在主模块中创建的数据框。有人可以帮助可能是什么问题。如果不在 main() 中,该函数工作正常。我不确定这里遗漏了什么。我正在 Jupyter notebook 中测试此代码并尝试在新单元格中调用 exceldf

import package as pkg

def main():
    list1, list2= pkg.somefunction()
    exceldf = pkg.functiontoloadexcelfiles.function(parameter1, parameter2)

我希望在 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

上面的代码在没有封装在 main 函数中时运行良好。

    list1,list2= pkg.somefunction()
    exceldf = pkg.functiontoloadexcelfiles.function(parameter1,parameter2)
    exceldf.head()

下面解决了这个问题

import package as pkg

def main():

    global exceldf
    list1, list2= pkg.somefunction()
    exceldf = pkg.functiontoloadexcelfiles.function(parameter1, parameter2)

最佳答案

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()
    

关于python main函数不返回数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73034355/

相关文章:

python - 正确的 python re regex

python - 如何读取python字节码?

python - 无法使用请求抓取 graphql 页面

python - Pandas :将特定功能应用于列并创建其他列

python - Pandas 在组内排序然后聚合

javascript - 匿名函数和命名函数的疑问

c++ - 在函数内部使用 "new"

python - 乘以计数器对象的元素

python - 使用 python 的数据透视表

javascript - 从 php 脚本调用 JavaScript 函数