首页 > 解决方案 > 使用变量调用另一个pythonfile中的数据框

问题描述

正如问题所述,我试图找出一种方法来使用变量在不同的 python 脚本中调用数据帧。我在 main.py 中有一个主数据框(maindf),其中包含位于 other.py 中的所有“子”数据框(称为 df1、df2 ....df9)的名称 other.py 使用import othersive 正确导入也使用from others import df1

通过循环主数据框来创建变量,以获取子数据框之一的正确名称dfname = (maindf.loc[i, ['dfnames']].values[0])

在使用 if 语句创建变量后,我目前正在做什么来访问正确的数据帧,这让我只想看着它就想吐。

if dfname == "df1":
    df = others.df1
if dfname == "df2":
    df = others.df2
if dfname == "df3":
    df = others.df4
print(df)

除了更多这些 if 语句。让我得到我想要的结果,但必须有更好的方法来解决它。我最初的想法是这样做。

df = others.dfname
print(df)

我还尝试将数据帧 df1-df9 移动到 main.py 中,但仍然无法使用变量调用它们。对编码很陌生,因此感谢所有帮助

标签: pythonpython-3.xpandasdataframe

解决方案


我强烈同意@TimRoberts,使用容器。字典非常适​​合这种情况,您可以这样做other.dict_container['df1']

也就是说,您可以按名称访问属性getattrgetattr(other, 'df1')


推荐阅读