You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从字典中批量生成多个DataFrame?

实现方法

方法一:通过globals()生成全局DataFrame变量

Python的globals()函数会返回当前全局命名空间的字典,我们可以直接将字典的键作为变量名、对应值作为DataFrame存入这个字典,从而生成全局变量:

import pandas as pd

# 示例字典(替换为你的实际字典)
df_dict = {"df_text": pd.DataFrame({'col1': [1, 2]}), 
           "df_logo": pd.DataFrame({'col2': [3, 4]}), 
           "df_person": pd.DataFrame({'col3': [5, 6]})}

# 循环生成全局变量
for var_name, df in df_dict.items():
    globals()[var_name] = df

# 验证生成结果
print(df_text)
print(df_logo)

方法二:局部作用域内用locals()生成变量

如果是在函数等局部环境中操作,使用locals()获取当前局部命名空间的字典,操作逻辑和globals()一致:

import pandas as pd

def create_local_dfs():
    df_dict = {"df_text": pd.DataFrame({'col1': [1, 2]}), 
               "df_logo": pd.DataFrame({'col2': [3, 4]}), 
               "df_person": pd.DataFrame({'col3': [5, 6]})}
    
    for var_name, df in df_dict.items():
        locals()[var_name] = df
    
    # 局部环境内可直接调用生成的变量
    print(df_person)

create_local_dfs()

注意事项

  • 不推荐使用exec()函数实现(如exec(f"{var_name} = df")),这种写法存在代码注入风险,当字典键不可控时会引发安全问题。
  • 若字典规模极大,生成大量独立变量会导致命名空间混乱,建议优先直接通过原字典访问DataFrame(如df_dict["df_text"]),更便于维护。

内容的提问来源于stack exchange,提问作者sam_sam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 00:36:26