在Python中如何将参数从一个函数传递到下一个函数?

在Python中如何将参数从一个函数传递到下一个函数?,python,pandas,function,Python,Pandas,Function,我有一个关于如何构造代码的基本问题 我正在创建一个简单的gui来搜索和返回我公司的财务数据。这些数据存在于一系列excel文件中,我使用pandas来合并、筛选和返回表或值。我目前的代码效率很低,每次调用搜索时都会导入相关的Excel文件。我宁愿在启动时导入这些Excel文件,并在程序运行时将其提交到程序内存中 我相信我的尝试失败了,因为我不知道如何将参数从一个函数传递到下一个函数。我确信我没有正确地使用这个self操作符。在这里寻找最佳实践,以及一种Pythonic方法。提前谢谢你 impor

我有一个关于如何构造代码的基本问题

我正在创建一个简单的gui来搜索和返回我公司的财务数据。这些数据存在于一系列excel文件中,我使用pandas来合并、筛选和返回表或值。我目前的代码效率很低,每次调用搜索时都会导入相关的Excel文件。我宁愿在启动时导入这些Excel文件,并在程序运行时将其提交到程序内存中

我相信我的尝试失败了,因为我不知道如何将参数从一个函数传递到下一个函数。我确信我没有正确地使用这个self操作符。在这里寻找最佳实践,以及一种Pythonic方法。提前谢谢你

import pandas as pd

def getData(self):
    self.Excel1 = pd.read_excel(r'asdf')
    self.Excel2 = pd.read_excel(r'fdsa')

def func1(): 
    df1 = getData.Excel1
    df2 = getData.Excel2
    df3 = df1 + df2
    return df3

func1()

有很多方法可以将函数作为参数传递,geeks for geeks有一篇关于“decorators”的优秀文章,正是这篇文章做到了这一点。链接如下:

但是,您是否可以将这两个功能合并为一个功能?i、 e:

 def getData():

    d1 = pd.read_excel(r'asdf')
    d2 = pd.read_excel(r'fdsa')
    d3 = d1 + d2

    return d3
我认为这样做的好处是减少了python需要保存在内存中的东西的数量。然而,缺点是您将无法访问d1或d2


我希望这会有所帮助,根据问题中的信息,我想不出其他任何东西。

这应该会有所帮助。self表示一个类的实例,但这里只有函数。你知道主要的第一类函数吗?你所描述的实际上是我当前的解决方案,所以我很高兴我们在这方面是一致的。至于我的需要,将Excel导入与数据操作相结合会导致程序运行缓慢,因为它需要在检查数据集之前导入整个数据集。谢谢你的评论!一种可能有助于减少程序运行时间的解决方案是将数据保存为CSV而不是excel。Excel是一个以二进制格式编写的文件,并具有许多您可能不需要的“附加功能”,如文本大小、字体、用户界面等。另一方面,CSV是一个纯文本文件,只存储数据值,不带任何装饰。我在一个分析了大量财务数据的项目中遇到了类似的问题,而CSV文件的使用大大提高了pd读取数据的速度。这是一个好主意。我目前在Excel中有它们,因为它们是许多同事使用和参考的标准季度报告。也许值得一试。谢谢你的反馈!