07 Июл 2023
2 мин
1260

Запись pandas DataFrame в CSV файл

Часто в процессе работы с библиотекой pandas в Python возникает необходимость сохранить полученный DataFrame в файл формата CSV. Для этого предназначен метод

Содержание

Часто в процессе работы с библиотекой 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, где значения разделены табуляцией. Это позволяет более наглядно представить данные при открытии файла в текстовом редакторе.

Добавить комментарий