![](/img/trans.png)
[英]How can I get around “UnboundLocalError: local variable 'foo' referenced before assignment” errors without global variables?
[英]How can I make a dataframe global? Getting error - UnboundLocalError: local variable referenced before assignment
我正在尝试从外部进程中获取一些数据,并不断地将其 append 到 dataframe 中,稍后我将其上传到 DF 中,但出现此错误:
UnboundLocalError: local variable 'financials_Balance_Sheet_yearlyDF' referenced before assignment
这就是我正在做的事情:
global financials_Balance_Sheet_yearlyDF
financials_Balance_Sheet_yearlyDF = pd.DataFrame()
def appendDFForTable(mainDF, DFtoAppend):
mainDF = mainDF.append(DFtoAppend)
return mainDF
def buildDFforUpload(tableName, DFtoAppend):
if tableName == 'financials_Balance_Sheet_yearly':
financials_Balance_Sheet_yearlyDF = appendDFForTable(financials_Balance_Sheet_yearlyDF, DFtoAppend) <<--this line is resulting in above error.
我在这里做错了什么? 我想如果我将变量设为全局变量或在 function 之外声明它是否可以访问? 我的目标是声明这个变量,然后在我从我的流程中收集数据时扩展它。
更新:根据克里斯的评论 - 我通过buildDFforUpload('financials_Balance_Sheet_yearly', dfThatIWantToAppend)
调用 function
当您想在 python 中使用全局变量时,您必须像在第 2 行中那样创建它:
financials_Balance_Sheet_yearlyDF = pd.DataFrame()
然后,在使用该变量的 function 中,您将其声明为全局:
def buildDFforUpload(tableName, DFtoAppend):
global financials_Balance_Sheet_yearlyDF
if tableName == 'financials_Balance_Sheet_yearly':
financials_Balance_Sheet_yearlyDF = appendDFForTable(financials_Balance_Sheet_yearlyDF, DFtoAppend)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.