Я пытаюсь написать программу на 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