【发布时间】:2020-02-06 03:42:34
【问题描述】:
我有 24 个 csv 文件当前位于文件夹目录中。目标是读取所有 CSV 文件并将它们存储为单独的 pandas 数据帧。应我的客户的要求,他们希望我们所有的代码都采用面向对象编程。我是 OOP 的新手,如果有任何帮助,我将不胜感激。
我目前正在尝试创建一个类,该类将读取我的文件并通过 for 循环将它们存储为字典。键是文件名,值是熊猫数据框
我已经有一个文件路径列表存储在一个名为 fns 的变量中
这就是我目前所拥有的代码,我试图弄清楚循环逻辑,所以我不必每次都调用一个新的类实例。
fns = glob.glob(path + "*.csv")
enc = 'ISO-8859-1'
# create class
class MyFile:
def __init__(self, file_path):
self.file = file_path
def ParseName(self):
self.name_me = self.file.split('\\')[-1].strip('.csv')
def Read_CSV(self):
self.data_csv = pd.read_csv(self.file,delimiter='\t',
low_memory=False, encoding= enc)
我的目标是得到这样的字典:
{'filename1': DataFrame, 'filename2': DataFrame, .... 'filename24': DataFrame}
感谢所有帮助!
【问题讨论】: