Удаление лишних пробелов внутри строки в файле с использованием Python

У меня есть большой CSV-файл, у которого есть такой список:

data1; data2; data3; Data4

в data4 содержимое выглядит так: Bad String

Содержимое в data4 должно выглядеть следующим образом: Correct String

Каков наилучший метод для перебора каждой строки в data4, чтобы удалить эти лишние пробелы? Я знаю, что должен каким-то образом получить доступ к позиции data4, которая была бы [3], но я просто не знаю, как сделать это для каждой строки при реализации удаления дополнительного пространства.

Заранее спасибо!

3 ответа

Я полагаю, вы имеете в виду дополнительную вкладку после запятой:

str1 = "; -77.1565506 38.8912708,\t -77.1552148 38.8913919,\t -77.1549278 38.8921727, -77.1557808 38.8916717, -77.1565506 38.8912708"
print(str1)

чтобы раздеть вкладки, используйте str.replace(old, new[, max]):

str1_notab = str1.replace('\t','')
print(str1_notab)

Вы пробовали регулярное выражение?

import re

bad_string = "This   is     a bad    string"
good_string = re.sub('\s+', ' ', bad_string)  # replace multiple spaces with single

Или, если вы не хотите использовать внешние библиотеки, вы можете разделить пробелы и использовать str.join()

bad_string = "This   is     a bad    string"
good_string = " ".join(bad_string.split())

Вы можете просто использовать следующее, чтобы удалить лишние пробелы, табуляции, новые строки:

original_string = 'This   \t\n contains \n \t   extra  spaces.' 
clean_string = ' '.join(original_string.split())
print(clean_string)

# Output: 'This contains extra spaces.'
Другие вопросы по тегам