Форум сайта python.su
Ага, а еще круче text += ‘,’ :-).
..bw
Офлайн
Тогда так (дошло тоже через минуту) :)
>>> text="text_1='Вася'"
>>> text=text.replace("я'","я,'")
>>> print text
text_1='Вася,'
Офлайн
Тогда уж (-:
>>> text = "text_1 = 'Вася'"
>>> text = text.replace("я'", "я,'")
>>> exec text
>>> print text_1
Вася,
Офлайн
всем спасибо! :)
немного оПшиПка вышла из-за некорректно поставленного условия и несогласованности с приведенным примером :)))
имелось ввиду(грубо):
text_1 = '''Вася,29.7,задание,оценка,4\n Маша,30.4,задание,оценка,5\n Петя,15.3,задание,оценка,3\n'''
Офлайн
Проверил все приведенные примеры … они корректны … но применимы в отношении всего текста или единичной строки
Офлайн
>>> text_1 = '''Вася,29.7,задание,оценка,4\n Маша,30.4,задание,оценка,5\n Петя,15.3,задание,оценка,3\n'''
>>> patt = re.compile("\n")
>>> new_text = patt.sub(',\n', text_1)
>>> print new_text
Вася,29.7,задание,оценка,4,
Маша,30.4,задание,оценка,5,
Петя,15.3,задание,оценка,3,
Офлайн
Можно и без регулярок:
lines = []
for line in text_1.splitlines():
line = line.strip()
if line:
if not line.endswith(','):
line += ','
lines.append(line)
new_text = '\n'.join(lines)
del lines
Отредактировано (Окт. 20, 2008 10:24:07)
Офлайн
BW
Спасибо! … запомнил, записал положил в сундучок :)
Офлайн
-doОднако, все-таки при помощи регулярки:
в итоге нужно получить вышеуказанную строку text_1 в которой присутствует по одному знаку «,» между всеми словами и цифрами (для последующего корректного экспорта в CSV-файл)
>>> import re
>>> print re.sub(r',+', r',', 'abc,,, efg,,, higk')
abc, efg, higk
Офлайн