Чтение нескольких CSV-файлов с разными именами с использованием словаря Python в цикле for - PullRequest
1 голос
/ 15 мая 2019

У меня есть список имен файлов и путей к файлам, которые я сохранил в словаре Python.Я пытаюсь прочитать файлы, используя pandas 'read_csv и назначить имена фреймов данных из словаря.Я могу читать и распечатывать кадры данных во время выполнения цикла for, но не могу вызвать кадры данных после завершения цикла.Я мог бы добавить все кадры данных в список, но таким образом я не могу назначить этим кадрам разные имена, которые также хранятся в словаре.

Я проверил различные форумы, но ни один из них не объясняет, почему цикл for с ppd.read_csv не работает и почему я не могу присвоить имена фреймам данных в цикле for, чтобы позже использовать их.

import pandas as pd
files_dict = {"Filter":"OUTTYPENM.csv","previous":"previous.csv"}
for key, value in files_dict.items():
    key = pd.read_csv(value)
Filter.head()

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

Filter = pd.read_csv("OUTTYPENM.csv")

Все файлы csv находятся в текущем рабочем каталоге.

Когда я запускаю код цикла for и запускаю Filter.head (), я получаю сообщение об ошибке: NameError: имя 'Filter' не определено

Ответы [ 2 ]

1 голос
/ 16 мая 2019

Это не совсем отвечает на ваш вопрос, но я думаю, что вы попадете в аналогичное место, без каких-либо вызовов exec() или locals().

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

import pandas as pd
files_dict = {"Filter":"OUTTYPENM.csv","previous":"previous.csv"}
df_dict = {}
for key, value in files_dict.items():
    df_dict[key] = pd.read_csv(value)
df_dict['Filter'].head()
0 голосов
/ 15 мая 2019

Попробуйте:

for key, value in files_dict.items():
    locals()[key] = pd.read_csv(value)

Этот метод не рекомендуется.Смотрите ссылку здесь: https://www.linuxquestions.org/questions/programming-9/python-create-variables-from-dictionary-keys-859776/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...