The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Вывод определенных столбцов из файла."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Python)
Изначальное сообщение [ Отслеживать ]

"Вывод определенных столбцов из файла."  +/
Сообщение от Аноним (??) on 05-Фев-13, 10:07 
Есть текстовый файл в котором хранятся данные разделенные в несколько столбцов, например некоторое количество строк состоящих из "[дата] [ip] [mac]". Нужно чтобы скрипт обработал файл и вывел только те столбцы которые нужны.
На bash это будет выглядеть примерно так:
$ cat file.txt | awk '{print($1, $3)}'
Желательно без сторонних библиотек.
Спасибо.
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Вывод определенных столбцов из файла."  +/
Сообщение от StopHam on 05-Фев-13, 10:45 
> Есть текстовый файл в котором хранятся данные разделенные в несколько столбцов, например
> некоторое количество строк состоящих из "[дата] [ip] [mac]". Нужно чтобы скрипт
> обработал файл и вывел только те столбцы которые нужны.
> На bash это будет выглядеть примерно так:
> $ cat file.txt | awk '{print($1, $3)}'
> Желательно без сторонних библиотек.
> Спасибо.

в текстовом файле какой используется разделитель между символами?(столбцами) уточните?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Вывод определенных столбцов из файла."  +/
Сообщение от Аноним (??) on 05-Фев-13, 11:32 
> в текстовом файле какой используется разделитель между символами?(столбцами) уточните?

Один или несколько пробелов.


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Вывод определенных столбцов из файла."  +/
Сообщение от Pahanivo (ok) on 05-Фев-13, 14:36 
Вопрос то в чем?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Вывод определенных столбцов из файла."  +1 +/
Сообщение от pavlinux (ok) on 05-Фев-13, 14:46 
$ cat file.txt | cut -d" " -f1,3

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Вывод определенных столбцов из файла."  +1 +/
Сообщение от Andrey Mitrofanov on 05-Фев-13, 14:56 
>> Желательно без сторонних библиотек.
> glibc-only пойдёт?

Там навирху

Вывод определенных столбцов из файла. (Python)
, но плохо видно.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Вывод определенных столбцов из файла."  +1 +/
Сообщение от pavlinux (ok) on 05-Фев-13, 15:05 
>
(Python)

http://docs.python.org/2/library/functions.html#print

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Вывод определенных столбцов из файла."  +/
Сообщение от name (??) on 05-Фев-13, 15:46 
> http://docs.python.org/2/library/functions.html#print

На гугл фейсконтроль пускает, просто ты знаешь что гуглить, а я вот понятия не имел что это в "print" есть.

Получилось так:
import sys
filename = open('data/name.txt')
print(*filename, sep=' ', end='\n', file=sys.stdout)

Выводятся все столбцы файла, независимо от того что я пишу в "end", так как в итоге конкретные столбцы то взять?

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Вывод определенных столбцов из файла."  +1 +/
Сообщение от pavlinux (ok) on 05-Фев-13, 15:48 
> так как в итоге конкретные столбцы то взять?

str = '1 2 3 4 5 6'
array = str.split()
print array[1:3]

иль

print array[1] array[3]

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Вывод определенных столбцов из файла."  +/
Сообщение от name (??) on 05-Фев-13, 16:54 
>> так как в итоге конкретные столбцы то взять?
> str = '1 2 3 4 5 6'
> array = str.split()
> print array[1:3]
> иль
> print array[1] array[3]

Спасибо.

В итоге для файла c несколькими строками и python3:

filename = open('путь/к/файлу', encoding='utf-8')
for i in filename:
    array = i.split()
    print(array[1], array[3])

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Вывод определенных столбцов из файла."  +/
Сообщение от name (??) on 05-Фев-13, 16:57 
И кстати, спасибо за аналогичную операцию в bash без awk.:) Тоже пригодится.)


Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

11. "Вывод определенных столбцов из файла."  +/
Сообщение от Andrey Mitrofanov on 05-Фев-13, 19:32 
> И кстати, спасибо за аналогичную операцию в bash без awk.:) Тоже пригодится.)

Ну, на тебе бонус - без cat и cut на баше:

while read -a arr; do echo "${arr[0]} ${arr[2]}"; done <file.txt

Не пригодится, и тормоз на больших файлах. Но кусочек man bash.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру