从目录中的文件创建一堆对象
Create a bunch of objects from files in a directory
我制作了一个 class 用于操作和处理我的数据。
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()
并且我想为目录中的每个文件创建一个新的数据集对象,数据集的名称就是文件名。
目前我有这个代码。
for file in os.listdir('data/'):
name = file[:-4]
path = 'data/'+file
每个 name
,例如 'fox',都应该是一个名为 name/fox
的新 DataSet 对象。我怎样才能做到这一点?
希望这是有道理的。提前致谢。
我想通了。
for file in os.listdir('data/'):
name = file[:-4]
path = 'data/'+file
exec("{} = DataSet('{}')".format(name, path))
鉴于您对自己的答案感到满意,您还应该考虑将 DataSet
实例存储在容器中。我建议 dict
:
frames = {}
for file in os.listdir('data/'):
name = file[:-4]
path = 'data/'+file
frames[name] = DataSet(path)
print(frames)
我制作了一个 class 用于操作和处理我的数据。
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()
并且我想为目录中的每个文件创建一个新的数据集对象,数据集的名称就是文件名。
目前我有这个代码。
for file in os.listdir('data/'):
name = file[:-4]
path = 'data/'+file
每个 name
,例如 'fox',都应该是一个名为 name/fox
的新 DataSet 对象。我怎样才能做到这一点?
希望这是有道理的。提前致谢。
我想通了。
for file in os.listdir('data/'):
name = file[:-4]
path = 'data/'+file
exec("{} = DataSet('{}')".format(name, path))
鉴于您对自己的答案感到满意,您还应该考虑将 DataSet
实例存储在容器中。我建议 dict
:
frames = {}
for file in os.listdir('data/'):
name = file[:-4]
path = 'data/'+file
frames[name] = DataSet(path)
print(frames)