не думаю, що отакими замінами ʼлапокʼ чи подібним вдасться ефективно вирішити дану задачу.
чи могли б Ви (звісно, не вдаючись в конкретний проект) описати в чому взагалі полягає бізнес завдання?
тобто - які є типи даних, де вони лежать і що з ними треба зробити.
питання виникло як реакція на ці слова - 'через що "екселівські" комірки зсуваються вбік.'
тобто - первинні документи в excel ? навіщо тоді csv? чому не передавати оригінал?
що стосується
'latin-1' codec can't encode character '\u2013' in position 5635: Body ('–') is not valid Latin-1. Use body.encode('utf-8') if you want to send it encoded in UTF-8
то , швидше за все, це якраз стається тому, що передаються стрінги, які кожна система перекодовує під себе.
в будь-якому випадку - краще зрозуміти що є , де воно лежить і що з ним треба зробити.
бо "заміни лапок", особливо на великих об'ємах даних, рідко приводять до позитивного результату.
а це образливо - перепроцесити пару сотень гігабайт, витратити десяток годин і під кінець отримати exception