Найти - Пользователи
Полная версия: Обработка текста
Начало » Python для новичков » Обработка текста
1 2 3
Divergent
Подскажите при помощи каких команд написать небольшой скрипт.

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


Пример.
Имя
1

Привязка
11

Привязка
12

Имя
2

Привязка
нет

Имя
3

Привязка
31

Привязка
32

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

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

Надеюсь на помощь…
dartNNN
Ну совсем ленивые нубы пошли:((((((
Вам что надо? Прочитать файл? В любом учебнике есть.
Обработать строковый результат? Так же в любом учебнике.
Вы поймите, я не троль и не выпен-ваюсь, но вам же лучше будет, если сами хоть немного пошевелите мозгами и руками.
Читайте, пробуйте, пишите, если не получится - тогда задавайте вопросы, С РАДОСТЬЮ ОТВЕЧУ, а с тем, что вы спрашиваете даже школьник справиться. Вы же не глупее школьника?
Divergent
Я думаю простым открытием, прочтением и записью здесь не обойтись.
Спасибо.
Javad
Что-то не понял: строки со значением “Имя” и “Привязка” входят в лог?Если да,то можно просто вначале split'ом разбить лог на массив,и дальше в нем ковыряться.Типа log.split(“Имя”).И выйдет массив из одних привязок.Дальше удаляем пробелы и заменяем все слова “Привязка” на знак табуляции
Divergent
Да…они входят в лог. Думаю здесь нужны функции “если” У имени может быть несколько привязок…если бы их былоточное количество, то былоб проще, а так неизвестно.
igor.kaist
Divergent
Думаю здесь нужны функции “если”
И что? Неужели ни в одном учебнике не написано об if?
http://www.intuit.ru/department/pl/python/1/2.html
Divergent
Если это так просто , то неужели не написать как? По исходнику явно проще разбираться. Я же пишу в ветку для новичков, а не для ассов.

Просто непонятно как ветвить, но попробую…скину что получится, если получится.
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, 'Имя') != -1:
print('ohhhooo')

f_in.close()

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

кодировка primer.txt ansi или utf-8 на результат невлияет
питон 2,6, winXP
UsCr
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 = ')
sp3
если поставить 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)
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