@Sergey3030

Как прочитать данные из файла .csv в numpy, пропустив нечисловые значения?

У меня есть CSV файл
5.8497e-001, 1.4380e-001, -8.1657e-003, 3.9700e+002
5.8468e-001, 1.4616e-001, -8.2995e-003, 3.9782e+002
5.8794e-001, 1.4496e-001, -8.2315e-003, 4.0057e+002
5.8548e-001, 1.5401e-001, -8.7451e-003, 3.9863e+002

[Name]
Nv

[Data]
X [ m ], Y [ m ], Z [ m ], T [ K ]
5.7816e-001, 1.0110e-001, -7.7954e-004, 3.7772e+002
5.7858e-001, 1.0105e-001, -5.7192e-004, 3.7812e+002

Как прочитать его в NumPy, пропустив строки с текстом? np.loadtxt(path, delimiter=',') если я правильно понимаю, может пропустить только первые строки.
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
@o5a
Можно использовать np.genfromtxt(), ему можно передать массив из только нужных строк, заранее выкинув все ненужные. В простейшем случае можно сделать так (при желании использовать более точную проверку цифр):

nums = '-0123456789'
# выбираем только цифровые строки
lines = [line for line in csv_file.readlines() if line[0] in nums]
data = np.genfromtxt(lines, delimiter=",")
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы