如何从存储DataFrame的字典中批量生成对应名称的多个DataFrame
批量从字典生成对应名称DataFrame的解决方法
方法1:动态生成全局变量(完全匹配变量名需求)
直接遍历字典的键值对,通过globals()内置函数动态创建和键名同名的变量,代码如下:
# 遍历字典批量赋值 for df_name, df_val in dict_.items(): # 若字典值直接为DataFrame,去掉末尾的[0]即可 globals()[df_name] = df_val[0]
运行完成后即可直接调用df1、df2、dfi等变量使用,不管字典里有多少个DataFrame都可以自动完成创建,不需要手动逐个写变量名。
方法2:批量解构赋值(适合已知键名的场景)
如果你提前明确需要取出的DataFrame名称,可以用列表推导式批量获取后解构赋值,比逐个写get更简洁:
# 定义需要取出的DataFrame名称列表 need_df = ['df1', 'df2', 'df3', 'df4'] # 批量取值后解构赋值 df1, df2, df3, df4 = [dict_.get(name)[0] for name in need_df]
优化建议
如果不是强需求必须单独生成变量,直接通过dict_['df1']的方式访问字典内的DataFrame是更易维护的写法,不会污染全局命名空间,也不需要额外的变量创建操作。
内容的提问来源于stack exchange,提问作者AfterFray
相关产品推荐
相关产品推荐

