Удаление лишних пробелов внутри строки в файле с использованием 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.'