Python 如何在内存中保持变量-PyCharm

Python 如何在内存中保持变量-PyCharm,python,pandas,pycharm,ide,Python,Pandas,Pycharm,Ide,在PyCharm中工作时,我经常运行代码。问题是,整个代码处理临时存储在excel中的数据(一旦程序启动并运行,我们将把它移到数据库中)。加载数据需要时间 PyCharm中有没有一种方法可以在程序运行结束后将变量保留在初始内存中(而不在控制台中运行代码) data = pd.read_excel(path, index_col=0) 我希望避免每次运行程序时都重新加载数据。不,此功能尚未实现,无法实现。如果不需要在PyCharm中工作,您可以在jupyter笔记本中工作: 您可以将数据加载到单

在PyCharm中工作时,我经常运行代码。问题是,整个代码处理临时存储在excel中的数据(一旦程序启动并运行,我们将把它移到数据库中)。加载数据需要时间

PyCharm中有没有一种方法可以在程序运行结束后将变量保留在初始内存中(而不在控制台中运行代码)

data = pd.read_excel(path, index_col=0)

我希望避免每次运行程序时都重新加载数据。

不,此功能尚未实现,无法实现。

如果不需要在PyCharm中工作,您可以在jupyter笔记本中工作:
您可以将数据加载到单元格中,然后在下一个单元格中使用它。一旦执行,一个单元格的结果就会保存在内存中。

我发现了一个肮脏的把戏——我知道这是一种非常非常不符合pythonic的方法,也不适合这样做。但在这个例子中,它确实起到了作用。同样,这段代码只是暂时用于测试,一旦我对代码满意,它就会被删除

我运行的模块如下所示:

data = pd.read_excel(path, index_col=0) #Data is loaded only once

while True:
    reload(TestModule)
    TestModule.test_function(data)
    input("Press Enter to rerun the test")
现在在TestModule中,我有test_函数,在这里我可以重新加载我正在处理的ModyfiedModule和我想要测试的任何函数

测试模块:

def test_function(data):
    from ModyfiedModule import MyClass

    #Run bunch of tests from MyClass
    #Code to test MyClass is here
在这种情况下,我只加载一次数据,我可以修改MyClass模块并执行TestModule中定义的各种测试,而无需每次重新加载数据


修改代码后,我需要做的唯一一件事是保存MyClass和TestModule,然后在控制台中按Enter键重新运行测试。

我正在远程登录到我的工作环境。我发现Jupyter notebook在加载相当长的类时速度非常慢-我在编辑代码时有一个延迟,但PyCharm工作绝对正常,但它需要不断重新加载数据。然后据我所知,你运气不好。谢谢。我真的希望他们能实施这一点。对我的大部分工作来说,这将改变游戏规则。90%的运行时都在加载数据,在这种特殊情况下,这是一个很长的时间序列,我需要处理完整的数据集,而不是样本。我将尝试寻找一个具有此功能的替代IDE。您不能成批加载数据吗?您建议修改输入或在pd.read\u excel中使用nrows吗?不确定对速度有什么影响,很可能是从慢速共享驱动器访问数据的问题。希望不是“太有创意”,但我可以在程序末尾提出“再次运行”问题,然后在加载数据之前启动代码吗?这也需要在程序的中间导入我的类(我想工作的代码)。