#python-3.x #pandas #export-to-csv #diacritics #non-ascii-characters
#python-3.x #pandas #экспорт в csv #диакритические знаки #символы, отличные от ascii
Вопрос:
Я пытался экспортировать фрейм данных pandas, который содержит акцентированные символы в нескольких столбцах, в csv. При печати в записной книжке IPython строка выглядит просто отлично.
например, фрейм данных выглядит следующим образом:
col1 col2
1 001 Éxamplé
но когда я экспортирую фрейм данных в CSV с помощью df.to_csv
функции, использующей кодировку ‘utf-8’, вывод в файле CSV выглядит следующим образом:
col1 col2
1 001 Éxamplé
в то время как желаемый результат:
col1 col2
1 001 Éxamplé
Как мы можем это сделать без изменения символов?
Комментарии:
1. В моей системе это работает нормально
2. Вам удалось это сделать?
Ответ №1:
Это должно сработать в большинстве случаев.
data.to_csv("Data.csv", encodin&="utf-8")
Но действительно сложно сказать, что вам нужно, не зная специфики. Текст на иностранном языке? Какое программное обеспечение вы используете для просмотра файла после его сохранения? Это может быть связано с этим программным обеспечением, а не с самим файлом.
Не забудьте здесь ознакомиться со стандартной кодировкой pythons.
Комментарии:
1. Я использую ту же строку кода, что и вы, и я использую MS Excel для просмотра файлов.
2. Я быстро протестировал, и мне кажется, что проблема в Excel. Попробуйте открыть файл с помощью pandas. Нормально ли это выглядит? Если да, то проблема связана с Excel. попробуйте это: it&.ias.edu/content / … Приветствия!
3. С pandas все выглядит нормально. Я вижу, что строка именно такая, как я хочу в IPython NB. но когда я открываю файл Excel, она изменяется. Согласно вашему предложению я попытался использовать функцию ‘utf8_decode()’ в Excel, но в Excel 2016 такой функции нет. Спасибо 🙂
4. Извините, я не эксперт в Excel 🙂 возможно, эта ссылка поможет? it&.ias.edu/content / …
Ответ №2:
df.to_csv(filename,encodin&='utf-8-si&')
Попробуйте этот режим, у меня это работает.