Создайте программу печати в python, используя систему классов - PullRequest
0 голосов
/ 26 апреля 2020

Я пытаюсь написать программу на python, которая берет файл данных, в простом случае - текстовый или CSV-файл и возвращает график данных. Первая часть слишком принимает пользовательский ввод для заданных условий, например, имя файла и решает, какой тип файла был запрошен. Ключевой частью этой программы является распознавание на каждом шаге, если пользователь ввел неправильный ввод, и запрос информации снова.

Программа, которую я успешно создал, делает это, но когда я пытаюсь вернуть результат с помощью команды "self", я не могу вернуть результаты для использования во второй функции, в данном случае функции построения графиков. Я не уверен, где проблема возникает. Я новичок в python кодировании, и у меня нет полного понимания того, как полностью использовать команду класса. Любые советы очень ценятся.

class file_load:
def __init__(self, name, xdata, ydata):
    self.name = name
    self.xdata = xdata
    self.ydata = ydata  

@classmethod
def user_input(self):
    while True:
        try:
            name = input('Enter file name')
            if '.''txt' in name:
                print('File name: ' + name)
                data = pd.read_csv(name, delimiter = '\t')
                print(data)
                xdata = data.columns[0]
                ydata = data.columns[1]
                break
            elif '.''csv' in name:
                print('File name: ' + name)
                while True:
                    try:
                        data = pd.read_csv(name)
                        xdata = data.columns[0]
                        ydata = data.columns[1]
                    except pd.errors.ParserError:
                        while True:
                            try:
                                row = input('Enter data start row')
                                data = pd.read_csv(name, header = int(row))
                                print(data)
                                xdata = data.columns[0]
                                ydata = data.columns[1]
                                break
                            except pd.errors.ParserError:
                                print('ERROR: INCORRECT ROW START')
                                print('Enter data start row: ')
                                continue
                        break
                print('ERROR: FILE UNKNOWN')
                print('Please enter file name:')
        except FileNotFoundError:
            print('ERROR: FILE NOT FOUND')
            print('Enter file name: ')
            continue
    return self(name, xdata, ydata)



def plotting(self, xdata, ydata):
    while True:
            x_label = input('Enter x label')
            x = self.xdata
            print(x)
            print(x_label)
            break
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...