загрузка разделенных табуляцией текстовых файлов с умноженными данными в массивы в python

1

Я хочу загрузить входной файл с разделителями вкладок в виде массива в python, и я знаю, что genfromtxt в numpy делает это, но проблема в том, что у меня есть несколько наборов данных, которые я хотел бы загрузить. В основном мой файл-образец может быть:
#FILE START
#intensities
11 1 1
0 1 2
#indexes
1 2 3 4 5 6
7 8 9 1 1 2
#FILE END

Итак, я хотел бы использовать этот файл для загрузки интенсивностей в виде массива и индексов в качестве другого массива. Мне не хотелось бы знать количество строк интенсивности перед рукой, но я могу поместить комментарий ( "интенсивности" или [интенсивности], как в ConfigParser, чтобы отметить начало или конец раздела).

Есть ли что-то вроде этого или мне придется написать что-то свое?

Спасибо

Теги:
numpy
scipy

1 ответ

2
Лучший ответ
f = open(filepath, 'r')
tags = ["#intensities"]
answer = {}
for line in f:
    if line.strip() in tags: # we've encountered a new tag
        curr = line.strip()[1:]
        answer[curr] = []
    else:
        answer[curr].append(line.strip().split('\t'))

f.close()

Теперь answer будет выглядеть так:

{'intensities':[['11', '1', '1'], ['0', '1', '2']]}

Надеюсь, что это поможет

  • 0
    Благодарю. Вы заставили меня думать, почему я просто не кодировал это сам.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню