Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 15, 2017 09:51:35

fabl
Зарегистрирован: 2017-10-15
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсинг текста

Из текстового файла необходимо составить список состоящий из колонки 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

В каком направлении нужно думать??

Офлайн

#2 Окт. 15, 2017 10:19:10

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

Парсинг текста

 with open('file.txt') as f:
    for line in f:
        print(line.split()[6])
это при условии что данные хранятся в .txt файле, а не .csv

Офлайн

#3 Окт. 15, 2017 10:32:36

fabl
Зарегистрирован: 2017-10-15
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсинг текста

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

Офлайн

#4 Окт. 15, 2017 10:52:30

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

Парсинг текста

Текст файла совпадает с приведенным в начале или он имеет отличия?
Ошибка говорит о том, что после разбиения строки на список и попытке извлечь n-й элемент, длина списка меньше индекса, по которому обращаемся.

Офлайн

#5 Окт. 15, 2017 12:43:26

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Парсинг текста

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 и сам это аккуратно сделает.



Отредактировано doza_and (Окт. 15, 2017 12:45:53)

Офлайн

#6 Окт. 15, 2017 14:21:30

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

Парсинг текста

doza_and
fabl список хочет а не на консоль распечатку получить.
Fabl попросил направление, , поэтому предложил идти по пути работы с файлами через open(). С numpy не знаком особо, но согласен что Ваше решение более лаконично.


Офлайн

#7 Окт. 16, 2017 10:05:11

fabl
Зарегистрирован: 2017-10-15
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсинг текста

doza_and
Спасибо, это то, что надо.
Остается только вопрос как ограничить количество символов после точки в выводе numpy?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version