Каков наилучший способ создания переменных из диктата - PullRequest
0 голосов
/ 23 октября 2019

Чтобы иметь возможность увеличить свой словарь, не меняя ничего другого в коде, я хочу перебирать ключи словаря и создавать кадры данных.

Я нашел способ создания глобальных переменных с помощью global (). Однако это самый питонический способ или лучший? Я знаю, что глобальные переменные являются ненулевыми, но это, кажется, единственное исправление здесь.

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]))

Это приводит к появлению новых переменных с именами ключей, что, конечно, то, что я хочу. Я просто хочу знать, должен ли я сделать это по-другому?

Спасибо!

1 Ответ

4 голосов
/ 23 октября 2019

Не создавайте глобальные переменные во время выполнения, просто используйте словарь.

dfs = {}
for stock_name, stock_code in stock_dict.items():
    dfs[stock_name] = pd.read_csv(f'{stock_code}.csv')

Затем вы можете получить к ним доступ, используя их имена

dfs['EA'].describe()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...