Python 在Pandas中重用打开的数据文件

Python 在Pandas中重用打开的数据文件,python,python-3.x,pandas,Python,Python 3.x,Pandas,我创建了许多不同的函数来执行相同数据的分析。数据在一个大的csv文件中,我不想为了使用数据而多次打开它 我创建了一个函数来打开数据-这个函数将检查数据框是否为空,然后打开文件-或者它是否有数据,然后只提供数据 为此,我创建了一个全局变量来保存数据 因此,我的main将有多个DATA=pd.DataFrame,对于每个文件,我将按如下方式打开它: def get_data(): global DATA if DATA.empty: DATA = pd.open_cs

我创建了许多不同的函数来执行相同数据的分析。数据在一个大的csv文件中,我不想为了使用数据而多次打开它

我创建了一个函数来打开数据-这个函数将检查数据框是否为空,然后打开文件-或者它是否有数据,然后只提供数据

为此,我创建了一个全局变量来保存数据

因此,我的main将有多个DATA=pd.DataFrame,对于每个文件,我将按如下方式打开它:

def get_data():
    global DATA
    if DATA.empty:
        DATA = pd.open_csv(file.csv)
        return DATA
    else:
        return DATA
使用全局变量的问题是,我的所有分析函数都必须与相应的get_数据函数位于同一个文件中


当我创建更多函数时,我希望能够将它们拆分为多个文件。

没有理由不能按您想要的方式拆分方法。试试这个:

# get_data.py

DATA = pd.Dataframe()

def get_data():
    global DATA
    if DATA.empty:
        DATA = pd.open_csv('file.csv')
        return DATA
    else:
        return DATA

__all__ = ['get_data']
然后在您的分析模块中:

# analysis_1.py

from get_data import get_data

data = get_data()

analyse(data)

...
如果已加载get_数据模块,多次导入它将不会重新运行模块内容。这样,您就可以在get_数据模块本身中维护全局状态。

@Yuca