为了能够增加字典而又不改变代码中的其他内容,我想遍历字典键并创建数据框。
我发现的方法是通过使用global()创建全局变量。但是,这是最Python的方式还是最好的方式?我知道全局变量是一个nono,但这似乎是唯一的解决方法。
stocks = {
'Tencent':'TCEHY',
'Blizzard' : 'ATVI',
'EA':'EA',
'Rockstar':'TTWO'
}
def create_dataframes(stock_dict):
for stock in stock_dict:
globals()[stock] = pd.read_csv('{}.csv'.format(stock_dict[stock]))
这将产生带有键名的新变量,这当然是我想要的。我只想知道是否应该以其他方式执行此操作?
谢谢!
答案 0 :(得分:4)
不要在运行时创建全局变量,只需使用字典即可。
dfs = {}
for stock_name, stock_code in stock_dict.items():
dfs[stock_name] = pd.read_csv(f'{stock_code}.csv')
然后您可以使用其名称访问它们
dfs['EA'].describe()