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

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

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

что-то подобное существует, или мне придется написать что-то свое?

Спасибо

1 Ответ

2 голосов
/ 13 мая 2011
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']]}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...