【发布时间】:2018-11-21 22:39:16
【问题描述】:
好的,这可能是一个非常愚蠢的问题,但是......
我有一个对象 x,其中包含许多 pandas 数据帧(df1、df2、df3 以供争论)
当程序完成运行后,我想将这些数据帧中的每一个导出到它自己的 csv 文件中。目前,我在x 中有一个函数,如下所示:
def export(self, path):
self.df1.to_csv(path+"_df1.csv")
self.df2.to_csv(path+"_df2.csv")
self.df3.to_csv(path+"_df3.csv")
它有效(我可以使用x.export(somepath),但我一直不得不更改它,因为我想保留在对象中的数据会发生变化。有人可以告诉我是否有一种方法可以简单地迭代所有变量在一个对象内(它们都是相同的格式)并(在这种情况下)将它们全部转储到各自的 .csv 文件中?
谢谢
【问题讨论】:
-
有一个实例变量
dataframes,它是一个保存数据帧的列表? -
难道我不必手动将所有不同的变量添加到此列表中吗? - 这就是我试图避免的。示例中我只使用了三个,但原代码中还有很多!
-
在某一时刻,您必须指定要导出的数据框。不妨将它们列在一个列表中。我有一种感觉,您正在尝试做一些奇怪的事情,而您的问题缺少信息。
-
@Will 然后您可以在
__init__中执行self.dataframes = [pd.DataFrame(), pd.DataFrame(), ...]而不是访问instance.df1,而是使用instance.dataframes[0]。 (当然,您也可以从该列表中选择pop和append。) -
@Will 当然可以使用字典。不要害怕尝试。
标签: python python-3.x pandas oop