Считать файл по колонкам и преобразовать str в float
такой вопрос, мне нужно считать данные по столбцам с .lvm файла, при этом нужно преобразовать данные во float. Вот что я пока пробовал:
col1 = []
col2 = []
col3 = []
new_list = []
with open (r'C:\\Users\\Пётр\\Documents\\LabVIEW Data\\8APSK\\8APSK_20dB_2.lvm', 'r') as f:
for line in f:
first, second, third = line.split()
col1.append(first)
col2.append(second)
col3.append(third)
new_list = list(map(float, col1))
print (new_list)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-56-a3b0bf4d1892> in <module>
11 col3.append(third)
12
---> 13 new_list = list(map(float, col1))
14
15 print (new_list)
ValueError: could not convert string to float: '0,000000'
Подскажите пожалуйста как правильно преобразовать данные. Пример файла https://drive.google.com/file/d/1NJvcaECbI_W5rkBQkmrkn4aSNe650S9q/view?usp=sharing
Ответы (2 шт):
Автор решения: Danis
→ Ссылка
, надо заменить на . и после этого преобразовать в float
new_list = [float(el.replace(",", ".")) for el in col1]
Автор решения: Zhihar
→ Ссылка
как написал @Danis - можно просто переименовать запятую в точку и дальше уже работать как с обычными строками через float
можно также использовать локализации, например:
import locale
locale._override_localeconv["decimal_point"] = ","
val = locale.atof("12,13")
print(val)
это конечно еще тот микроскоп для такого гвоздя, но как вариант... :)