Есть ли способ использовать np.loadtxt и аргумент преобразователей для разделения столбца на два столбца?Используйте np.loadtxt для разделения столбца при чтении
Строки в моем текстовом файле выглядит следующим образом:
1 2 A=3;B=4
, и я хочу, чтобы прочитать это как:
[1,2,3,4]
Файл достаточно большой, чтобы чтение построчно будет слишком медленный.
Я попытался это:
parse_col = lambda x: [ float(x.split(';')[0].split('=')[1]), int(x.split(';')[1].split('=')[1]) ]
np.loadtxt('demo.txt',usecols=[0,1,2],comments='#',converters={2:parse_col},dtype=int)
Спасибо!
Это будет работать только для A и B, которые могут быть не все, что есть в файле –
@PadraicCunningham, вы правы ... Я обновил ответ, используя 're.findall()' с более общим шаблоном –
@SaulloCastro Спасибо! Две проблемы - мне нужно игнорировать столбцы (я делаю это в своей функции парсера), а «demo.txt» - это заархивированный файл. Будет ли это работать? Я разделил s в «parser», чтобы выбрать столбцы, и я получаю indexerror – Stefan