#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.