#python-3.x #pandas #string #dataframe #escaping
Вопрос:
Я понял, что в python есть некоторый механизм автоматического экранирования строки, когда я экспортировал свой фрейм данных в текстовый файл.
Фрейм данных
ID | Description
1 | fruitsbaskets
2 | apple orange"pear
Когда я экспортировал фрейм данных в текстовый файл, значение груши»яблочный апельсин «было изменено на»яблочный апельсин»»груша». Python автоматически добавил заключающие двойные кавычки и дополнительные двойные кавычки в мое значение.
Могу я узнать, как мне предотвратить это? Я хочу экспортировать фрейм данных в виде необработанной строки — экспортируя яблочно-оранжевую»грушу», как она есть.
Любая помощь будет признательна! Спасибо!
Комментарии:
1. по умолчанию
quotechar='"'
, поэтому вы можете изменить этоquotechar="'"
наto_csv()
метод in, чтобы это выглядело такdf.to_csv('filename.txt',quotechar="'")
, но помните, что если данные будут выглядеть такapple orange'pear
, в этом случае у вас возникнет та же проблема, с которой вы сталкиваетесь сейчас2. но в данном случае:
apple orange'pear
принимая это"
как соглашение, вы можете заменить все'
на"
, чтобы эта проблема также разрешилась3. привет @AnuragDabas! Спасибо за ваше предложение. Я не против того, чтобы заключать двойные кавычки. Но я не хочу, чтобы в значении была дополнительная двойная кавычка. Есть какие-нибудь предложения?
4. как я уже упоминал выше, вы можете использовать
quotechar
параметр вto_csv()
методе, поэтомуapple orange"pear
будете писать так, как он есть внутри текстового файла5. @AnuragDabas спасибо! Обнаружил, что моя проблема возникла из-за использования quoting=csv. ЦИТАТА_ВСЕ.