Передать значение динамически объявленному объекту / переменной - PullRequest
0 голосов
/ 05 февраля 2019

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

Приведенный ниже код присваивает его переменной DataFrame_Name, а не значению DataFrame_Name

for i in range(0, len(Required_Reports_df)):
    ReportName = Required_Reports_df.iloc[i]['Report Name']
    ReportPath = Required_Reports_df.iloc[i]['Report Path']
    DataFrame_Name = ReportName + "_df"
    DataFrame_Name  = pd.read_excel (ReportPath, skiprows=[ReportStartingHeaderRow])

Какие у меня есть варианты, кроме наличия словаря.Если словарь является лучшим вариантом, как я могу использовать словарь здесь - Должен ли я рассмотреть создание словаря с другим циклом for до этого.

Пожалуйста, помогите мне с этим.

1 Ответ

0 голосов
/ 05 февраля 2019

Я пытаюсь динамически назначить имя кадра данных .... Если словарь - лучший вариант

Словарь действительно рекомендуется:

dfs = {}  # define empty dictionary to store your dataframes

# construct iterable of name, path pairs
zipper = zip(Required_Reports_df['Report Name'], Required_Reports_df['Report Path'])

# iterate name, path pairs and add items to dictionary
for name, path in zipper:
    dfs[name] = pd.read_excel(path)

Как только вы ознакомитесь с этим шаблоном, вы сможете более эффективно переписать его как словарь:

dfs = {name: pd.read_excel(path) for name, path in zipper}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...