Мои данные - это список списков с r строками различной длины, содержащими строки данных - некоторые из них являются числами с плавающей точкой, но считаны как строки.
Я хотел бы сначала пройтись по всем строкам,затем через все элементы , а затем примените функцию try / exc к указанным элементам , чтобы найти первый экземпляр строки в строке, которую можно преобразовать в число с плавающей точкой.
Мой код выводится, как и ожидалось, когда я явно говорю второму циклу, для какой строки он должен выполнить операцию, однако, когда я пытаюсь выполнить цикл по всем строкам, он выводит только ожидаемый вывод для первой строки, и ничего из следующегострок.
Ожидаемый список вывода float_index (с длиной = len (данные)) будет списком с индексом первого конвертируемого элемента для всех строк.
Воткод с явным определением строки, выводящий [2], поскольку для второй строки это 2-й элемент, который может быть преобразован в число с плавающей запятой:
data = [['Mittl.', 'Halleninnenpegel,', 'Volllast', 'Li', '124', '132', '132', '132', '139', '138', '141', '139', '131', '146'],
['Abgaskamin', 'LW', '130', '129', '121', '104', '100', '96', '94', '89', '86', '108']]
row= 1
floats = []
float_index = []
for i in data[row]:
try:
floats.append(str(int(float(i))))
float_index = [data[row].index(floats[0])]
except:
pass
print(float_index)
Вот код, циклически повторяющий все строки в данных, но выводящий толькоожидаемое значение для первой строки float_index = [4], тогда как ожидаемое было float_index = [4,2]:
data = [['Mittl.', 'Halleninnenpegel,', 'Volllast', 'Li', '124', '132', '132', '132', '139', '138', '141', '139', '131', '146'],
['Abgaskamin', 'LW', '130', '129', '121', '104', '100', '96', '94', '89', '86', '108']]
floats = []
float_index = []
for r in range(len(data)):
for i in data[r]:
try:
floats.append(str(int(float(i))))
float_index = [data[r].index(floats[0])]
except:
pass
print(float_index)
Список float , вероятно, является проблемой - он просто собираетвсе конвертируемые элементы в длинный список с одной строкой - мне нужно, чтобы список floats был таким же, как data , чтобы он помещал все конвертируемые элементы в новые строки, чтобы float [0] Я нахожу первые элементы для всех рядов, но почему-то не могу достичь этой цели.
Буду признателен за помощь, спасибо!