Чтение столбцов из файла, где первая строка является строкой

Что я хотел бы сделать, это прочитать в столбцах из .dat файл. Я смог сделать это с помощью scitools.filetable.read_columns(), Проблема в том, что первый ряд моего .dat файл содержит strings, Как я могу пропустить первый ряд?

Итак, для краткого примера у меня есть следующее .dat файл:

a   b   c   d   e
1   3   5   7   9
2   4   6   8  10

Из этого типа .dat файл, который я хочу создать массивы для каждого столбца без string, Когда файл.dat не будет содержать a,b,c,d,e это было бы очень легко, как это было бы просто:

import scitools.filetable

fp = open("blabla.dat", "r")

a, b, c, d, e = scitools.filetable.read_columns(fp)

Сейчас a будет читать: [1 2],

Тем не менее, когда я пытаюсь сделать то же самое, когда a, b, c, d, а также e являются частью .dat файл, как указано в моем примере, scitools не работает, так как не может преобразовать string к float, Как открыть файл без первой строки или создать нужные столбцы?

1 ответ

Решение

использование fp.next продвинуться на одну строчку дальше

Как fp дескриптор файла для файла, открытого в текстовом режиме, итерируя по нему, читает его построчно.

Вы можете спросить fp читать на одну строку дальше fp.next() и затем передайте его вашему `scitools.filetable.read_colums(fp)

Ваш код будет выглядеть после модификации:

import scitools.filetable

fp = open("blabla.dat", "r")
fp.next()

a, b, c, d, e = scitools.filetable.read_columns(fp)

Или используя менеджер контекста для закрытия файла:

import scitools.filetable

with open("blabla.dat", "r") as fp:
    fp.next()

    a, b, c, d, e = scitools.filetable.read_columns(fp)
Другие вопросы по тегам