提问人:Dan 提问时间:7/15/2023 更新时间:7/15/2023 访问量:49
在重新运行 python 脚本时跳过几行代码
Skip a few line of code in rerun of python script
问:
DF 从 Web 获取数据。
df_new = df.drop(df.columns[[1, 2]],axis = 1)
创建df_new后,脚本希望通过在每次重运行(例如 1 分钟)期间增量添加新列来更新/操作它
但是,由于df_new源自 DF,因此它会在每次重新运行期间重新创建,从而回到原点。
如何在重新运行期间跳过代码的第二行。仅首次运行它。df 将每 1 分钟更新一次,以便脚本的其余部分运行计算,并向现有df_new添加新列。
答:
1赞
newby73
7/15/2023
#1
首先,你应该包括你的源代码,这样我们就有了上下文......否则很难理解发生了什么。
一种可能的解决方案是使用变量来表示运行的状态。即:
new = True
if new == True:
new = False
df_new = df.drop(df.columns[[1, 2]],axis = 1)
注意:每次重新运行时,您似乎都在创建一个新的“df_new”对象。这是您的问题:您需要创建一次“df_new”对象,然后每次重新运行,您从您使用的最后一个“df”对象创建另一个“df”对象。
1赞
nischal sharma
7/15/2023
#2
您可以使用该语句来检查是否已经创建了 DataFrame。如果已创建,则可以跳过创建 DataFrame 的第二行代码,仅使用新数据对其进行更新。if
df_new
# Create the DataFrame for the first time
if 'df_new' not in locals():
df_new = df.drop(df.columns[[1, 2]], axis=1)
while True:
# Update the DataFrame every minute
我希望这会有所帮助!
评论