Как мне создать класс, который объединяет и возвращает фрейм данных, но наследует от другого класса?

#python #python-2.7 #pandas #glob

#python #python-2.7 #pandas #глоб

Вопрос:

У меня есть два класса, мне нужно, чтобы первый класс принимал путь ввода, содержащий несколько файлов; и в зависимости от типа файла он наследует определенные качества, такие как имя поставщика файлов, группа, а также значения skiprow и нижнего колонтитула, производные от имени поставщика. Затем мне нужно передать эти значения в объединяющий класс, чтобы он мог объединиться в один гигантский объединенный фрейм данных, который затем можно экспортировать в csv.

 import os
import pandas as pd
import logging
import glob
from pandas import Series, DataFrame


class Provider(object):

    def __init__(self, path, group, type1_or_type2):
        self.group = group.lower()
        self.path = path
        self.type1_or_type2 = type1_or_type2
        self.skipfooter = 1
        if self.group == 'AXEL'.lower():
            self.skiprows = 3
        else:
            self.skiprows = 0

class Datamerge(Provider):

    def __init__(self, dataframe):
        self.dataframe = DataFrame


    @classmethod
    def massread(cls):
        """
        Select your path and index provider to merge the data into one large dataframe
        """
        allfiles = glob.glob(self.path  "/*.*")
        list_ = []
        for file_ in allfiles:
            df = pd.read_csv(file_, skiprows = self.skiprows, skipfooter = self.skipfooter, engine = 'python')
            list_.append(df)
            frame = pd.concat(list_)
        return cls(frame)

s = Provider('F:Desktop/FNMRA','AXEL','type1')
s.frame.to_csv('F:Desktop/test.csv')
  

Возникающая ошибка Traceback (most recent call last):
File "F:DesktopPython Scriptsmassload.py", line 47, in <module>
s.DataMerge
AttributeError: 'Provider' object has no attribute 'DataMerge'
[Finished in 3.1s with exit code 1]

Комментарии:

1. из обратной трассировки ошибки не могли бы вы, пожалуйста, указать, какая строка генерирует этот AttributeError. Кроме того, я не вижу, где определена функция datamerge .

2. К сожалению, вы описываете проблему в терминах сложности, с которой вы столкнулись, а не того, чего вы намереваетесь достичь. Вы пробовали запускать этот код? Я вижу несколько причин, по которым это может вас разочаровать

3. Я попытался запустить его, но это не сработало. Мне нужно ввести путь, который принимает несколько файлов, и на основе типа файла он наследует определенные качества, такие как поставщик, группа и значения skiprow и нижнего колонтитула. Затем передает эти значения в объединяющий класс, чтобы он мог объединиться в один гигантский объединенный фрейм данных, который затем можно экспортировать в csv.