Импорт данных с целыми числами и списками в Python

#python #import

#python #импорт

Вопрос:

У меня есть текстовый файл с данными, отсортированными таким образом:

период, 0,6, диаметр, 1,6, частота, [1. 1.12 1.61 …], …

Мне нужно импортировать как целые числа, так и списки чисел. Я использую:

 period=[]
diameter = []
freqs =[]

with open('OptBEparams.txt', 'r') as f:


    lines = f.read()
    data = lines.strip().split(", ")

    for i in range(0, int(len(data)/12)):

        period.append(float(data[1 i*11]))
        diameter.append(float(data[3 i*11]))
        freqs.append(list(data[5 i*11]))
 

Хотя в итоге я получаю хорошие списки period и diameter с моими значениями, я понятия не имею, как правильно импортировать списки. Очевидно, что приведенная выше команда принимает каждый символ отдельно.

Спасибо за любые советы.

Ответ №1:

все, что вам нужно, это получить строку, подобную этой: [1. 1.12 1.61] и передать ее в эту функцию:

 def get_list(st: str):
    nst = st[1:-1].split(' ')
    return map(float, nst)
 

и вы получите карту с плавающими значениями. Или, если вам нужен только список, вы можете просто использовать это:

 def get_list(st: str):
    nst = st[1:-1].split(' ')
    return list(map(float, nst))