То, что я искал, не сработало, поэтому я обращаюсь к экспертам!Как удалить возврат каретки из текстового файла с помощью Python?
У меня есть текст в текстовом файле с разделителями с табуляцией, который имеет в нем какой-то возврат каретки (когда я открываю его в Notepad ++ и использую «показать все символы», я вижу [CR] [LF] в конце линии). Мне нужно удалить это возвращение каретки (или что бы то ни было), но я не могу понять это. Вот фрагмент из текстового файла, показывающий линию возврата каретки:
firstcolumn secondcolumn third fourth fifth sixth seventh
moreoftheseventh 8th 9th 10th 11th 12th 13th
Вот код, который я пытаюсь использовать, чтобы заменить его, но он не находит возвращения:
with open(infile, "r") as f:
for line in f:
if "\n" in line:
line = line.replace("\n", " ")
Мои сценарий просто не находит возврат каретки. Я что-то делаю неправильно или неверно полагаю, что это возвращение каретки? Я мог бы просто удалить его вручную в текстовом редакторе, но в текстовом файле содержится около 5000 записей, которые могут также содержать эту проблему.
Дополнительная информация: Целью здесь является выбор двух столбцов из текстового файла, поэтому я разбиваю на символы \ t и ссылаюсь на значения как части массива. Он работает на любой строке без возврата, но не работает на линиях с возвратами, потому что, например, в этих строках нет элемента 9.
vals = line.split("\t")
print(vals[0] + " " + vals[9])
Таким образом, для строки текста выше этот код не работает, потому что в этом конкретном массиве нет индекса 9. Для строк текста, которые не имеют [CR] [LF], он работает так, как ожидалось.
Попробуйте поискать «\ г \ п ", который является возвратом каретки для окон. – rantanplan
Вы записываете строки обратно в файл? – ovgolovin
Не удалось выполнить поиск \ r \ n. – mrcoulson