Отвечая на вопрос в заголовке:
Закодировать текст так, чтобы в нём не осталось недопустимых символов, т.е. символов, которые используются в самом формате хранения как управляющие символы. Можно применить percent-encodig, можно JSON, можно base64. И возможно лучше сразу сохранять данные в БД или Excel таблицу.
Но, если нужно, чтобы текст оставался максимально читабельным (например, чтобы его можно было поправить вручную в редакторе), например для формата csv, который часто поэтому и выбирается, то можно воспользоваться таким трюком:
s = "aaa\n\nbbb\tccc" # Строка с запрещёнными символами
rs = repr(s) # "Закодированная" строка: "'aaa\\n\\nbbb\\tccc'"
# Чтобы раскодировать:
import ast
decoded = ast.literal_eval(rs)
>> print(s)
aaa
bbb ccc
>> print(rs)
'aaa\n\nbbb\tccc'
>> print(decoded)
aaa
bbb ccc