Создание группы объектов из файлов в каталоге - PullRequest
0 голосов
/ 11 июля 2020

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

class DataSet():
    def __init__(self, path, label_names, ohe_names, random_state=420):
        self.df = pd.read_csv(path)
        self.random_state = random_state
        self.encodings = LabelEncoder() 
        self.scaler = StandardScaler()

и я хочу создать новый объект DataSet для каждого файла в каталоге с именем DataSet - это имя файла.

У меня пока есть этот код.

for file in os.listdir('data/'):
    name = file[:-4]
    path = 'data/'+file

Каждый name, например 'fox', должен быть новым объектом DataSet с именем name/fox. Как мне это удается?

Надеюсь, это имеет смысл. Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 11 июля 2020

Учитывая, что вы были довольны своим собственным ответом, вам также следует подумать о хранении ваших DataSet экземпляров в контейнере. Я предлагаю dict:

frames = {}
for file in os.listdir('data/'):
    name = file[:-4]
    path = 'data/'+file
    frames[name] = DataSet(path)
print(frames)
0 голосов
/ 11 июля 2020

Мне удалось разобраться.

for file in os.listdir('data/'):
    name = file[:-4]
    path = 'data/'+file
    exec("{} = DataSet('{}')".format(name, path))
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...