Найти - Пользователи
Полная версия: Замена табуляции на пробелы
Начало » Python для новичков » Замена табуляции на пробелы
1
NickolasFox
Есть необходимость заменить символы табуляции (\t) на пробелы. Суть заключается в том, что визуальное форматирование при этом должно остаться таким же, если бы в документе была табуляция.
Простая замена \t на фиксированное количество пробелов к сожалению не помогает, так как форматирование начинает плыть.

upd:
Решение найдено: str.expandtabs()
fata1ex
Что значит “начинает плыть”? Возьмите любой нормальный редактор, он заменит вам табуляцию на пробелы.
Или
grep -rl '\t' ./ | xargs sed -i 's/\t/    /g'
NickolasFox
Начинает плыть, значит что выравнивание по столбикам с помощью табуляции будет искажено при заменее онной на пробелы.

Кстати вот именно такой пример, который ты показал и поплывет:

#python27
>>>f = 'Год\t\tСумма платежа\t\t\tВся сумма\n2004\t\t100.0\t\t\t\t20301.0\n2012\t\t2000.15\t\t\t\t2030.0\n2012\t\t20000.15\t\t\t50000.15'
>>> print f
Если сохранить и применить такой способ как у тебя, то третий столбик поползет. Нужно было, чтобы не пополз. Вот для этого я искал способ: f.expandtabs() такое форматирование не калечит.
py.user.next
выравнивай через str.format() с помощью спецификаторов формата
вместо табуляций используй пробелы, чтобы на всех системах таблица одинаково отображалась
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