Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Часто в процессе работы с библиотекой pandas в Python возникает необходимость сохранить полученный DataFrame в файл формата CSV. Для этого предназначен метод .to_csv()
.
Однако, при работе с данными, которые содержат символы юникода, при попытке сохранения может возникнуть ошибка UnicodeEncodeError
. Эта ошибка возникает из-за того, что кодировка по умолчанию, используемая для записи в файл, не поддерживает символы юникода.
import pandas as pd data = {'Name': ['Алексей', 'Сергей', 'Иван'], 'Age': [25, 30, 18]} df = pd.DataFrame(data) df.to_csv('output.csv')
В данном случае, запись в файл вызовет ошибку UnicodeEncodeError
, поскольку имена содержат кириллические символы.
Для решения этой проблемы можно указать кодировку файла при записи. Для поддержки большинства символов подойдет кодировка ‘utf-8’.
df.to_csv('output.csv', encoding='utf-8')
Также в pandas есть возможность записи данных не только в CSV, но и в другие форматы. Часто возникает вопрос о записи данных в табулированный файл. Для этого можно использовать тот же метод .to_csv()
, но указать другой разделитель с помощью параметра sep
.
df.to_csv('output.tsv', sep='\t', encoding='utf-8')
В этом случае данные будут записаны в файл с расширением .tsv, где значения разделены табуляцией. Это позволяет более наглядно представить данные при открытии файла в текстовом редакторе.
На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.
Добавить комментарий