Чтение столбцов из файла, где первая строка является строкой
Что я хотел бы сделать, это прочитать в столбцах из .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)