Экспорт DataFrame в CSV с помощью Pandas: Полное руководство по методу to_csv()
Экспорт DataFrame в CSV с помощью Pandas: Полное руководство по методу to_csv()
Вы пытаетесь сохранить DataFrame из Pandas в файл CSV? Метод to_csv() в Pandas позволяет легко экспортировать ваши данные в файл со значениями, разделенными запятыми (CSV), всего несколькими строками кода.
В этом руководстве мы рассмотрим, как использовать to_csv() для сохранения DataFrame в CSV, охватывая ключевые параметры для настройки вывода. Вы также увидите примеры распространенных опций, таких как исключение индекса, указание разделителя, обработка отсутствующих данных и многое другое.
Как экспортировать DataFrame в CSV с помощью to_csv()
Базовый синтаксис для сохранения DataFrame df из Pandas в файл CSV:
df.to_csv('data.csv', index=False)
Это экспортирует DataFrame в файл с именем data.csv в текущей директории. Параметр index=False исключает индекс DataFrame из сохранения в CSV.
Некоторые другие часто используемые параметры to_csv() включают:
sep: Строка длиной 1, указывающая разделитель полей. По умолчанию,.na_rep: Строковое представление отсутствующих данных. По умолчанию пустая строка.header: Записывать названия столбцов в CSV. По умолчаниюTrue.encoding: Кодировка файла. По умолчанию'utf-8'.
Мы подробнее рассмотрим эти опции в примерах ниже.
Примеры экспорта DataFrame в CSV
Базовый экспорт DataFrame в CSV
import pandas as pd
data = {'name': ['John', 'Anna', 'Peter', 'Linda'],
'age': [25, 31, 42, 28],
'city': ['New York', 'Paris', 'Berlin', 'London']}
df = pd.DataFrame(data)
df.to_csv('people.csv', index=False)
Сохраняет DataFrame в people.csv с опциями по умолчанию - разделитель запятая и без столбца индекса.
Указание разделителя и представления отсутствующих данных
df.to_csv('people.csv', sep='\t', na_rep='MISSING', index=False)
Использует табуляцию (\t) вместо запятой в качестве разделителя и представляет отсутствующие данные как строку 'MISSING'.
Сохранение подмножества столбцов в CSV
columns_to_save = ['name', 'age']
df.to_csv('people.csv', columns=columns_to_save, index=False)
Сохраняет только столбцы 'name' и 'age' в CSV.
Обработка столбцов DateTime
df['birth_date'] = pd.to_datetime(['1997-05-23', '1991-04-12',
'1980-09-01', '1994-11-18'])
df.to_csv('people.csv', date_format='%B %d, %Y', index=False)
Указывает пользовательскую строку формата даты для столбцов DateTime с помощью параметра date_format.
Сжатый экспорт CSV
Pandas позволяет сохранять непосредственно в сжатые файлы CSV, указав тип сжатия:
# Сохранение в gzip-сжатый CSV
df.to_csv('people.csv.gz', compression='gzip', index=False)
# Сохранение в zip-сжатый CSV
df.to_csv('people.zip', compression='zip', index=False)
Поддерживаемые типы сжатия включают 'gzip', 'bz2', 'zip', 'xz' и 'zstd'.
Ключевые моменты
- Используйте
df.to_csv('file.csv', index=False)для сохранения DataFrame в CSV без индекса. - Укажите разделитель с помощью параметра
sep. Распространенные варианты - запятая,и табуляция\t. - Представляйте отсутствующие данные с помощью параметра
na_rep. - Сохраняйте подмножество столбцов, передав список в параметр
columns. - Форматируйте столбцы DateTime, используя
date_formatи коды strftime. - Экспортируйте напрямую в сжатые файлы CSV, указав тип
compression.
Часто задаваемые вопросы
Укажите кодировку с помощью параметра `encoding`:\n\n```python\ndf.to_csv('data.csv', encoding='utf-16')\n```
Да, используйте `mode='a'` для дозаписи:\n\n```python\ndf.to_csv('data.csv', mode='a', header=False)\n```\n\nИсключите заголовок, чтобы избежать повторения имен столбцов.
Используйте `sep=';'` для разделителя точкой с запятой и `decimal=','` для десятичной запятой:\n\n```python\ndf.to_csv('data.csv', sep=';', decimal=',', index=False)\n```
Заключение
С этими опциями метод to_csv() в Pandas предоставляет гибкий способ экспорта DataFrame в файлы CSV. Настраивая такие параметры, как разделитель, кодировка и сжатие, вы можете создавать файлы CSV, совместимые с различными приложениями и локалями.