Найти - Пользователи
Полная версия: Парсинг текста
Начало » Python для новичков » Парсинг текста
1
fabl
Из текстового файла необходимо составить список состоящий из колонки CH1/V
 N	CH1	CH2	CH3	CH4	Time/s	CH1/V	CH2/V	CH3/V	CH4/V
0	0	0	0	0	0.00	0.000	0.000	0.000	0.000
1	0	0	0	0	1.00	0.000	0.000	0.000	0.000
2	22	0	0	0	2.00	2.588	0.000	0.000	0.000
3	23	0	0	0	3.00	2.706	0.000	0.000	0.000

В каком направлении нужно думать??
Romissevd
 with open('file.txt') as f:
    for line in f:
        print(line.split()[6])
это при условии что данные хранятся в .txt файле, а не .csv
fabl
Romissevd
 Traceback (most recent call last):
  File "C:/Users/Fabl/PycharmProjects/GIDROG/split.py", line 3, in <module>
    print(line.split()[6])
IndexError: list index out of range
Romissevd
Текст файла совпадает с приведенным в начале или он имеет отличия?
Ошибка говорит о том, что после разбиения строки на список и попытке извлечь n-й элемент, длина списка меньше индекса, по которому обращаемся.
doza_and
fabl
В каком направлении нужно думать??
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.loadtxt.html
Romissevd
это при условии что данные
fabl список хочет а не на консоль распечатку получить.
 import numpy as np
data = np.loadtxt("file.txt",skiprows=1,dtype='f')[:,6].tolist()
Ошибка может быть если встречаются строки другого содержания. Например пустая последняя строка/ для поиска enumerate + try except. Но numpy и сам это аккуратно сделает.
Romissevd
doza_and
fabl список хочет а не на консоль распечатку получить.
Fabl попросил направление, , поэтому предложил идти по пути работы с файлами через open(). С numpy не знаком особо, но согласен что Ваше решение более лаконично.


fabl
doza_and
Спасибо, это то, что надо.
Остается только вопрос как ограничить количество символов после точки в выводе numpy?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB