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