Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 1, 2009 00:16:36

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

Помогите с программой обработки текста

Есть текстовый файл с однотипными строками:

A1,A2,A3,A4
B1,B2,B3,B4
C1,C2,C3,C4
и т. д.

Строк много - десятки тысяч.

Нужна программа, которая из этого текста сделал бы следующий:

“Some text ('A1','','A2','','A3','','A4')”;
“Some text ('B1','','B2','','B3','','B4')”;
“Some text ('C1','','C2','','C3','','C4')”;

и т. д.

Нужно срочно, потому прошу о помощи тае не вовремя.

Кстати, Всем С Новым Годом!



Отредактировано (Янв. 1, 2009 00:21:14)

Офлайн

#2 Янв. 1, 2009 01:13:37

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Помогите с программой обработки текста

Я буду первым, кто ответит здесь на вопрос!.. Хотя все нормальные люди пьют…

out_file = open('out.txt', 'wb')
for line in (line.strip() for line in open('in.txt', 'rb')):
out_file.write('"Some text(\'%s\')"\n') % "','','".join(line.split(','))
out_file.close()
Только не спрашивай меня, как оно работает… И это, я не проверял, но вроде правильно.

P.S. Пить надо меньше, а спать больше! Всех с наступившем на нас годом!



Офлайн

#3 Янв. 1, 2009 22:57:01

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

Помогите с программой обработки текста

ZZZ
Я буду первым, кто ответит здесь на вопрос!..
Не знаю насколько хотел зла, но совершил точно благо :). С работой разберусь надеюсь.

Спосибы и гигабайты счастья в новом году! Отдельно спасибо за комплимент (все нормальные люди пьют…) :)



Офлайн

#4 Янв. 2, 2009 00:54:49

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

Помогите с программой обработки текста

Вот что питон пишет:

Traceback (most recent call last):
File “E:/Program Files/python/balance.py”, line 1, in <module>
out_file = open('E:\Program Files\python\mmm\base_upload.txt', ‘wb’)
IOError: No such file or directory: ‘E:\\Program Files\\python\\mmm\x08ase_upload.txt’

т. е. ищет файл base_upload.txt, а не находит x08ase_upload.txt

почему он превращает “b” в “x08”?
и двойные слеши - так и должно?

Пробовал с заранее созданным файлом base_upload.txt, и без него.
Если называю по -другому, напр ase_upload.txt, название не меняется, но сообщение такое-же.
Входной test.txt тоже существует точно.
При запуске создается пустой base_upload.txt. Также в том случае, если там уже был файл с этим названием (и каким-то содержанием).

сам текст программы:

out_file = open('E:\Program Files\python\mmm\base_upload.txt', ‘wb’)
for line in (line.strip() for line in open('E:\Program Files\python\mmm\test.txt', ‘rb’)):
out_file.write('“Some text(\'%s\')”\n') % “','','”.join(line.split(','))
out_file.close()



Отредактировано (Янв. 2, 2009 01:13:37)

Офлайн

#5 Янв. 2, 2009 03:10:50

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Помогите с программой обработки текста

maxo127
out_file = open('E:\Program Files\python\mmm\base_upload.txt', ‘wb’)
for line in (line.strip() for line in open('E:\Program Files\python\mmm\test.txt', ‘rb’)):
out_file.write('“Some text(\'%s\')”\n') % “','','”.join(line.split(','))
out_file.close()
Ну правильно! Обратный слеш (\), это эскейп символ. Попробуй удвоить их.

out_file = open('E:\\Program Files\\python\\mmm\\base_upload.txt', 'wb')
for line in (line.strip() for line in open('E:\\Program Files\\python\\mmm\\test.txt', 'rb')):
out_file.write('"Some text(\'%s\')"\n') % "','','".join(line.split(','))
out_file.close()



Офлайн

#6 Янв. 2, 2009 03:13:40

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Помогите с программой обработки текста

Или поставить ‘r’ перед строкой, чтобы сделать её “сырой”:
r'E:\Program Files\python\mmm\base_upload.txt'



Офлайн

#7 Янв. 2, 2009 03:20:33

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Помогите с программой обработки текста

А вообще, это только в Новый Год я такой добрый… И то только я… Очень хотелось бы, чтобы вы почитали какой-нить учебник по питону, ибо это очень этементарные вопросы.



Офлайн

#8 Янв. 2, 2009 23:11:56

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

Помогите с программой обработки текста

ZZZ
Очень хотелось бы, чтобы вы почитали какой-нить учебник по питону, ибо это очень этементарные вопросы.
И мне хотелось бы, вот на интуит.ру прекрасный материал лежит, но как Вы думаете - когда человек в разгар нового года этими занимается, потому что программист надяпал что-то на С++ и пропал, а прога не работает, вернее работает но бесконечно и без толку, а базу надо обновить, а ее не то чтоб обновить пока к разуму привести надо, антивира не купили и чтоб куда-то зайти у вируса разрешения просить надо, и сервер чо-то поскрипывает, и хостинг барахлит, аууууууууууууууууууууууууууууууууууууууууу

Где тут учебники читать :(

Хорошо что все еще все пьяны :)



Офлайн

#9 Янв. 3, 2009 00:12:11

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

Помогите с программой обработки текста

Нет, не получается

Немножко повозился, на экран вывщдит правильно:

out_file = open('E:\\Program Files\\python\\mmm\\base_upload.txt', ‘wb’)
for line in (line.strip() for line in open('E:\\Program Files\\python\\mmm\\test.txt', ‘rb’)):
print ('“INSERT (\'%s\')”;\n') % “','”.join(line.split(','))

результат:

“INSERT ('C1','C2','C3','C4')”;

А если вместо print вставить out_file.write, тогда ошибка:

Traceback (most recent call last):
File “E:/Program Files/python/mmm/make_base.py”, line 3, in <module>
out_file.write('“INSERT INTO balance(id,pir_n,saxeli,gvari,misamarti,davalianeba,tarigi) VALUES (\'%s\')”;\n') % “','”.join(line.split(','))
TypeError: unsupported operand type(s) for %: ‘NoneType’ and ‘str’



Офлайн

#10 Янв. 3, 2009 00:30:46

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

Помогите с программой обработки текста

И как назло во всей сети нет обяснение ошибли %; есть for +, =, /, * и хз что, а про % - ни заикания :(



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version