python - Python - 在数据框中添加行时出错:分配前引用的局部变量“finallog”
问题描述
代码片段
s = int(input())
# finallog.append(pd.Series([CurrentClock,timedelta(seconds=s,minutes=m),CurrentProgramCode,0,0],index=finallog.columns()), ignore_index=True)
# finallog.loc[j]=[CurrentClock,timedelta(seconds=s,minutes=m),CurrentProgramCode,0,0]
# j+=1
df_2 = pd.DataFrame(data={
'CurrentTime':[CurrentClock],
'BookingNumber':[""],
'Duration':[timedelta(seconds=s, minutes=m)],
'BrandCode':[""],
'TapeCode':[CurrentProgramCode]})
finallog = pd.concat([finallog,df_2],axis=0)
print(finallog)
错误信息为:
UnboundLocalError Traceback (most recent call last)
<ipython-input-45-6144a7142686> in <module>()
----> 1 startup()
<ipython-input-25-1490643b2ba7> in startup()
17 # j+=1
18 df_2=pd.DataFrame(data={'CurrentTime':[CurrentClock],'BookingNumber':[""],'Duration':[timedelta(seconds=s, minutes=m)],'BrandCode':[""],'TapeCode':[CurrentProgramCode]})
19 **finallog=pd.concat([finallog,df_2],axis=0)**
20 print(finallog)
21 CurrentClock=CurrentClock+timedelta(seconds=s,minutes=m)
> UnboundLocalError: local variable 'finallog' referenced before assignment
请提出任何解决方法来完成这项工作。此外,如果注释掉的方法之一更好地添加请建议,因为当我尝试时,所有似乎都给出了一些或其他错误以及所有运行时错误。谢谢你。
解决方案
我想,您finallog
在代码上方的某处声明,但在其他范围内,但在“当前”本地范围内分配给它(可能在下面的某个地方,因为我在您的代码中看不到任何分配):
finallog = pd.concat([finallog, df_2],axis=0)
...
> UnboundLocalError: local variable 'finallog' referenced before assignment
作为文档的建议,尝试使用global
. 简化示例:
x = 10
def p():
print(x)
x += 1
p()
Traceback:
UnboundLocalError Traceback (most recent call last)
<ipython-input-3-d40139f363ae> in <module>
----> 1 p()
<ipython-input-2-271014bcda23> in p()
1 def p():
----> 2 print(x)
3 x += 1
4
与global
:
x = 10
def p():
global x
print(x)
x += 10
p()
Out:
10
推荐阅读
- sql-server - 在全文索引重新填充期间是否可以截断 LOG 文件?
- spring - Spring JPA 查询以获取具有计数条件的数据
- c# - 未在模型中设置组件
- sql - Oracle SQL“按先验连接” - 值的总和和乘积备份树
- r - R从列表中删除元素
- composer-php - 如何在 Symfony4 / Symfony5 中安装 phpUnit?
- javafx-8 - 使用 Javafx 中的属性更改按钮上的样式类
- android - 将自定义矩阵和自定义维度发送到 Firebase 分析
- java - 如何从firebase实时数据库中获取字符串数组
- python - 在 sqlalchemy 中向 declerative 类添加方法是否有任何副作用?