Python Как избавиться от \\

Рейтинг: 0Ответов: 1Опубликовано: 19.04.2023

Экранирую звездочки в csv с помощью python 2.7. При выполнении кода

row = ["asda", "asda*", "* asd"]
row = [element.replace('*', '\*') if '*' in element else element for element in row]
row: ["asda", "asda\\*", "\\* asd"]

В итоге csv.writer записывает в csv двойной бекслеш.

writer = csv.writer(fb, delimiter="|", quoting=csv.QUOTE_NONE, escapechar='\\')
writer.writerow(row)

Все перепробовал, уже ничего в голову не приходит...

Ответы

▲ 1

Сам себе создал проблему и замучил вас.

Я пытался избежать дополнительное оборачивание в двойные кавычки с помощью quoting=csv.QUOTE_NONE. Для того чтобы код в ошибку не падал добавил параметр escapechar='\\'.

Именно параметр escapechar='\\' послужил дополнительным экранирование бекслеша.

Спасибо всем за помощь!