Python 具有变量赋值的映射或过滤函数
Python Map or Filter function with variable assignment
有没有办法使用 map 或 filter 函数将变量列表映射到函数并将变量(变量的名称)分配给每个输出?
mapping_tables = ['Assets_Table','Liabilities_Table','Equity_Table','Income_Table']
我有一个表列表,我正在将其应用于一个函数,该函数会将其转换为数据框,然后将 mapping_tables 列表中的变量分配给该数据框。目前以下 'for loop' 有效。
for table_name in mapping_tables:
globals()[table_name] = load_data_table_to_df(sheet_name, table_name)
有没有办法优化这个?也许使用 Map 或 Filter 函数之一?甚至不同的 python 库?或者这就这么简单吗?
谢谢
如果你真的想用map()
:
# Assuming `sheet_name` is defined somewhere...
def table_to_df(table_name):
return table_name, load_data_to_df(sheet_name, table_name)
frames = dict(map(table_to_df, mapping_tables))
然后当你想处理你的数据帧之一时:
frames[table_name]
有没有办法使用 map 或 filter 函数将变量列表映射到函数并将变量(变量的名称)分配给每个输出?
mapping_tables = ['Assets_Table','Liabilities_Table','Equity_Table','Income_Table']
我有一个表列表,我正在将其应用于一个函数,该函数会将其转换为数据框,然后将 mapping_tables 列表中的变量分配给该数据框。目前以下 'for loop' 有效。
for table_name in mapping_tables:
globals()[table_name] = load_data_table_to_df(sheet_name, table_name)
有没有办法优化这个?也许使用 Map 或 Filter 函数之一?甚至不同的 python 库?或者这就这么简单吗?
谢谢
如果你真的想用map()
:
# Assuming `sheet_name` is defined somewhere...
def table_to_df(table_name):
return table_name, load_data_to_df(sheet_name, table_name)
frames = dict(map(table_to_df, mapping_tables))
然后当你想处理你的数据帧之一时:
frames[table_name]