Ошибка при обработке файла данных с помощью приложения StreamlitPython

Программы на Python
Anonymous
Ошибка при обработке файла данных с помощью приложения Streamlit

Сообщение Anonymous »

Я пытаюсь развернуть приложение, которое обрабатывает файл данных .csv, введенный пользователем, выполняет с его помощью некоторый анализ размеров и строит графики. Репозиторий Github можно найти по адресу 1.
Файл, который я запускаю, называется «streamlitstuff.py», а другой файл в репозитории, в котором есть ошибки, — это файл чтения данных. 'data_reader.py''.
Веб-сайт создается, как и ожидалось, но когда я пытаюсь ввести файл данных .csv в требуемом формате, я получаю следующие сообщения об ошибках, может ли кто-нибудь посоветовать? Я также прикрепил изображение того, что видно на веб-сайте, с тем же сообщением.
Хотя есть сообщение о том, что индекс выходит за пределы диапазона, я уже использовал этот файл данных раньше с предыдущая версия кода была около двух лет назад, поэтому в коде, который был разработан с тех пор, была какая-то ошибка или что-то, что больше не работает и его необходимо изменить. Глядя на таблицу данных слева, где чередуются строки со значением «Нет», кажется, что что-то не так с тем, как выполняется индексация строк.
File “C:\Users\holli\miniconda3\Lib\site-packages\streamlit\runtime\scriptrunner\script_runner.py”,
line 600, in _run_script
exec(code, module.dict)
File “C:\Users\holli\streamlitstuff.py”, line 61, in
data = Data(ds, pandas=True)
^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\holli\data_reader.py”, line 12, in init
self.parameters = self.generate_list_of_parameters()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\holli\data_reader.py”, line 24, in generate_list_of_parameters
units=getattr(Units(), key.split(‘-’)[1]),
~~~~~~~~~~~~~~^^^
IndexError: list index out of range

Изображение

Изменить: поскольку ошибка, похоже, связана с вызовом key.split, я добавил полный фрагмент кода этой части из data_reader.py.
def generate_list_of_parameters(self):
parameters = ListOfParameters([])
for key in self.data:
parameters.append(Parameter(value=[value for value in self.data[key]],
units=getattr(Units(), key.split('-')[1]),
name=key.split('-')[0]))
return parameters


Подробнее здесь: https://stackoverflow.com/questions/787 ... eamlit-app

Вернуться в «Python»