Как убрать пробелы между цифрами в python
Перейти к содержимому

Как убрать пробелы между цифрами в python

Как убрать пробелы в значениях Data frame python

Написал программу по парсингу таблицы с отчетностью (форма 101 с сайта ЦБ):

Свою задачу она выполняет — выгружает таблицу, НО данные так спарсились, что между разрядами цифр остаются пробелы, следовательно я не могу производить никаких дальнейших вычислений.

Чего я только не делал:

Пробелы не удаляются! Есть идеи как это вылечить?

user avatar

user avatar

Всё ещё ищете ответ? Посмотрите другие вопросы с метками python парсер pandas dataframe или задайте свой вопрос.

Site design / logo © 2022 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2022.6.10.42345

Нажимая «Принять все файлы cookie», вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Как удалить пробелы между числами с помощью Python?

ПРИМЕЧАНИЕ : перед десятичной дробью был добавлен один ноль, а один был удален.

Заранее спасибо. Но это не для однозначных чисел, разделенных пробелами.

1 ответ

Вам нужно не только удалить пробелы между цифрами, но также . (точка) и / (косая черта), это можно сделать следующим образом

\s обозначает любой пробел (т.е. не только пробел, но также, например, \t ), вы можете изменить его на , если уверены, что встретите только пробелы. (?<= . ) и (?= . ) являются утверждениями положительного просмотра назад и положительного просмотра вперед, это утверждения нулевой длины и используются для проверки только соответствия пробелы после цифры / точки и перед цифрой / точкой, без соответствия указанным цифрам / точкам. . при использовании внутри [ и ] является буквальным . и поэтому не требует экранирования.

Чтобы добавить начальный ноль перед . , за которым следует цифра, вы можете снова использовать re.sub с утверждением нулевой длины следующим образом

Объяснение: поместите 0 между пробелом ( \s ) и буквальной точкой ( \. ), за которым следует одна или несколько ( + ) цифр ( \d ). Обратите внимание, что . необходимо экранировать при использовании вне [ и ] .

Как удалять пробелы в Python и форматировать их

Удаление и форматирование пробелов в строках с Python

В Python есть несколько методов удаления пробелов в строках. Методы могут быть использованы при удалении пробелов во всем тексте, начале или конце.

Из-за того что строки являются неизменяемыми объектам каждая операция удаления или замены символов создает новую строку. Что бы сохранить новую строку мы должны будем присвоить ее переменной.

Навигация по посту

Удаление пробелов в начале и конце строки со strip()

Для удаления пробелов в начале и конце строки можно использовать функцию strip(), как на примере ниже:

Замена пробелов в строке с Python strip()

Для удаления символов в начале текста есть lstrip():

Замена пробелов в строке с Python lstrip() слева

Противоположная операция — rstrip(), удалит символы только справа:

Замена пробелов в строке с Python strip() справа

Замена всех знаков с replace()

Когда нужно удалить все нужные символы используйте replace():

Замена всех пробелов в строке с Python replace()

В отличие от методов strip с replace можно заменить задвоенные символы:

Замена задвоенных пробелов в строке с Python replace()

Удаление с join и split

Если нужно удалить все пробелы и символы новой строки '\n' можно преобразовать строку в массив (используя пробелы как разделитель) и преобразовать массив обратно в строку уже добавив пробелы между значениями:

Замена пробелов в строке Python с join и split

Используем Python Pillow для вставки текста и изображения в картинку

Использование translate()

translate возвращает копию строки в которой все символы будут заменены в соответствии с таблицей. С помощью следующего способа эта операция пройдет с пробелами:

Замена пробелов в строке Python с translate

Использование регулярных выражений

Используя регулярные выражения мы можем получить каждый из результатов полученных выше. Знак пробела, в регулярных выражениях, обозначается как '\s'. Знак '+' говорит об одном или множестве повторений символа. В примере ниже будут заменены все символы пробела:

Замена пробелов в строке Python регулярными выражениями

Для замены указанных знаков в начале текста можно использовать знак '^':

Замена пробелов в строке Python регулярными выражениями в начале строки

Конец текста обозначает знак '$'. С помощью его мы заменим нужные символы в конце строки в следующем примере:

Замена пробелов в строке Python регулярными выражениями в конце строки

Используя знак '|', который в регулярных выражения работает как 'or', мы сможем заменить символы в начале и конце:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *