Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 27, 2010 15:37:59

Divergent
От:
Зарегистрирован: 2010-01-27
Сообщения: 53
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка текста

Подскажите при помощи каких команд написать небольшой скрипт.

Есть лог файл, где идёт распечатка.


Пример.

Имя
1

Привязка
11

Привязка
12

Имя
2

Привязка
нет

Имя
3

Привязка
31

Привязка
32

Привязка
33
Хочу записать в другой файл или отредактировать этот, чтобы в первом столбце шли имена, а во втором и так далее шли номера привязок.

Что-то вроде того…
1[Знак табуляции]11[Знак табуляции]12
2[Знак табуляции]нет
3[Знак табуляции]31[Знак табуляции]32[Знак табуляции]33
Можно не обязательно знак табуляции, а другой разделитель. Просто хочу вставить в excel потом

Надеюсь на помощь…



Офлайн

#2 Фев. 27, 2010 15:52:27

dartNNN
От:
Зарегистрирован: 2009-12-08
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка текста

Ну совсем ленивые нубы пошли:((((((
Вам что надо? Прочитать файл? В любом учебнике есть.
Обработать строковый результат? Так же в любом учебнике.
Вы поймите, я не троль и не выпен-ваюсь, но вам же лучше будет, если сами хоть немного пошевелите мозгами и руками.
Читайте, пробуйте, пишите, если не получится - тогда задавайте вопросы, С РАДОСТЬЮ ОТВЕЧУ, а с тем, что вы спрашиваете даже школьник справиться. Вы же не глупее школьника?



Офлайн

#3 Фев. 27, 2010 15:55:28

Divergent
От:
Зарегистрирован: 2010-01-27
Сообщения: 53
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка текста

Я думаю простым открытием, прочтением и записью здесь не обойтись.
Спасибо.



Офлайн

#4 Фев. 27, 2010 17:37:14

Javad
От:
Зарегистрирован: 2009-12-31
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка текста

Что-то не понял: строки со значением “Имя” и “Привязка” входят в лог?Если да,то можно просто вначале split'ом разбить лог на массив,и дальше в нем ковыряться.Типа log.split(“Имя”).И выйдет массив из одних привязок.Дальше удаляем пробелы и заменяем все слова “Привязка” на знак табуляции



Офлайн

#5 Март 1, 2010 09:10:04

Divergent
От:
Зарегистрирован: 2010-01-27
Сообщения: 53
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка текста

Да…они входят в лог. Думаю здесь нужны функции “если” У имени может быть несколько привязок…если бы их былоточное количество, то былоб проще, а так неизвестно.



Офлайн

#6 Март 1, 2010 11:12:29

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Обработка текста

Divergent
Думаю здесь нужны функции “если”
И что? Неужели ни в одном учебнике не написано об if?
http://www.intuit.ru/department/pl/python/1/2.html



Офлайн

#7 Март 1, 2010 12:45:35

Divergent
От:
Зарегистрирован: 2010-01-27
Сообщения: 53
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка текста

Если это так просто , то неужели не написать как? По исходнику явно проще разбираться. Я же пишу в ветку для новичков, а не для ассов.

Просто непонятно как ветвить, но попробую…скину что получится, если получится.



Отредактировано (Март 1, 2010 12:49:32)

Офлайн

#8 Март 1, 2010 12:50:51

sp3
От:
Зарегистрирован: 2010-01-12
Сообщения: 405
Репутация: +  18  -
Профиль   Отправить e-mail  

Обработка текста

# -*- coding: koi8-r -*-
import string
file_in ='primer.txt'
f_in = open(file_in, 'r')

for linex in f_in.readlines():
if string.find(linex, 'Имя') != -1:
print('ohhhooo')

f_in.close()

x = raw_input('x = ')
старнно: если указать в поиске англ буквы то норм, а русские невидит :(

кодировка primer.txt ansi или utf-8 на результат невлияет
питон 2,6, winXP



Отредактировано (Март 1, 2010 13:24:45)

Офлайн

#9 Март 1, 2010 15:58:58

UsCr
От:
Зарегистрирован: 2009-11-04
Сообщения: 216
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка текста

sp3
старнно: если указать в поиске англ буквы то норм, а русские невидит
Так работает?
# -*- coding: koi8-r -*-
import string
file_in ='primer.txt'
f_in = open(file_in, 'r')

for linex in f_in.readlines():
if string.find(linex, u'Имя') != -1:
print('ohhhooo')

f_in.close()

x = raw_input('x = ')



Офлайн

#10 Март 1, 2010 16:53:53

sp3
От:
Зарегистрирован: 2010-01-12
Сообщения: 405
Репутация: +  18  -
Профиль   Отправить e-mail  

Обработка текста

если поставить u'имя' выдает ошибку:

Traceback (most recent call last):
File “C:\py26\name_priv.py”, line 16, in <module>
if string.find(linex, u'РёРјСЏ') != -1:
File “C:\py26\lib\string.py”, line 361, in find
return s.find(*args)
UnicodeDecodeError: ‘ascii’ codec can't decode byte 0xc8 in position 0: ordinal not in range(128)



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version