在重新运行 python 脚本时跳过几行代码

Skip a few line of code in rerun of python script

提问人:Dan 提问时间:7/15/2023 更新时间:7/15/2023 访问量:49

问:

DF 从 Web 获取数据。

df_new = df.drop(df.columns[[1, 2]],axis = 1)

创建df_new后,脚本希望通过在每次重运行(例如 1 分钟)期间增量添加新列来更新/操作它

但是,由于df_new源自 DF,因此它会在每次重新运行期间重新创建,从而回到原点。

如何在重新运行期间跳过代码的第二行。仅首次运行它。df 将每 1 分钟更新一次,以便脚本的其余部分运行计算,并向现有df_new添加新列。

python 跳行

评论


答:

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 的第二行代码,仅使用新数据对其进行更新。ifdf_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
   

我希望这会有所帮助!