pandas.DataFrame.to_csv
- DataFrame.to_csv(path_or_buf=None, sep=',', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, mode='w', encoding=None, compression='infer', quoting=None, quotechar='"', lineterminator=None, chunksize=None, date_format=None, doublequote=True, escapechar=None, decimal='.', errors='strict', storage_options=None)[source]
-
Запись объекта в файл с разделителем запятая (csv).
- Параметры
-
- path_or_buf:str, объект пути, файлоподобный объект или None, по умолчанию None
-
Строка, объект пути (реализующий os.PathLike[str]) или файлоподобный объект, реализующий функцию write(). Если None, результат возвращается как строка. Если передан небинарный файловый объект, он должен быть открыт с newline=’’, отключая универсальные переводы строк. Если передан бинарный файловый объект, mode может потребоваться содержать ‘b’.
Изменено в версии 1.2.0: Добавлена поддержка бинарных файловых объектов.
- sep:str, по умолчанию ‘,’
-
Строка длиной 1. Разделитель полей для выходного файла.
- na_rep:str, по умолчанию ‘’
-
Представление отсутствующих данных.
- float_format:str, Callable, по умолчанию None
-
Строка формата для чисел с плавающей точкой. Если задана Callable, она имеет приоритет перед другими параметрами числового форматирования, такими как decimal.
- columns:последовательность, необязательно
-
Столбцы для записи.
- header:bool или список строк, по умолчанию True
-
Запись заголовков столбцов. Если передан список строк, предполагается, что это псевдонимы для имён столбцов.
- index:bool, по умолчанию True
-
Запись имён строк (индекс).
- index_label:строка или последовательность, или False, по умолчанию None
-
Имя столбца для столбцов индекса, если необходимо. Если задано None, и header и index равны True, то используются имена индекса. Последовательность должна быть задана, если объект использует MultiIndex. Если False, не печатать поля для имён индекса. Используйте index_label=False для более лёгкого импорта в R.
- mode:str, по умолчанию ‘w’
-
Режим записи Python. Доступные режимы записи такие же, как
open(). - encoding:str, необязательно
-
Строка, представляющая кодировку, которую следует использовать в выходном файле, по умолчанию ‘utf-8’. encoding не поддерживается, если path_or_buf является небинарным файловым объектом.
- compression:str или dict, по умолчанию ‘infer’
-
Для сжатия выходных данных в реальном времени. Если ‘infer’ и ‘path_or_buf’ является путём, то обнаружить сжатие из следующих расширений: ‘.gz’, ‘.bz2’, ‘.zip’, ‘.xz’, ‘.zst’, ‘.tar’, ‘.tar.gz’, ‘.tar.xz’ или ‘.tar.bz2’ (иначе сжатие не используется). Установите в
Noneдля отсутствия сжатия. Также может быть словарь с ключом'method', установленным в один из {'zip','gzip','bz2','zstd','tar'} и другие пары ключ-значение передаются вzipfile.ZipFile,gzip.GzipFile,bz2.BZ2File,zstandard.ZstdCompressorилиtarfile.TarFile, соответственно. В качестве примера можно передать следующее для более быстрого сжатия и создания воспроизводимого архива gzip:compression={'method': 'gzip', 'compresslevel': 1, 'mtime': 1}.Новое в версии 1.5.0: Добавлена поддержка файлов .tar.
Изменено в версии 1.0.0: Теперь может быть словарем с ключом ‘method’ в качестве режима сжатия и другими записями в качестве дополнительных параметров сжатия, если режим сжатия ‘zip’.
Изменено в версии 1.1.0: Поддерживается передача параметров сжатия в виде ключей в словаре для режимов сжатия ‘gzip’, ‘bz2’, ‘zstd’ и ‘zip’.
Изменено в версии 1.2.0: Сжатие поддерживается для бинарных файловых объектов.
Изменено в версии 1.2.0: Предыдущие версии передавали записи словаря для ‘gzip’ в gzip.open вместо gzip.GzipFile, что предотвращало установку mtime.
- quoting:необязательная константа из модуля csv
-
По умолчанию csv.QUOTE_MINIMAL. Если вы установили float_format, то числа с плавающей точкой преобразуются в строки, и, следовательно, csv.QUOTE_NONNUMERIC будет обрабатывать их как нечисловые.
- quotechar:str, по умолчанию ‘"’
-
Строка длиной 1. Символ, используемый для кавычек полей.
- lineterminator:str, необязательно
-
Символ новой строки или последовательность символов, которые следует использовать в выходном файле. По умолчанию os.linesep, который зависит от ОС, в которой вызывается этот метод (’\n’ для Linux, ‘\r\n’ для Windows, например).
Изменено в версии 1.5.0: Предыдущее имя было line_terminator, изменено для согласованности с read_csv и стандартным модулем «csv».
- chunksize:int или None
-
Строки для записи за раз.
- date_format:str, по умолчанию None
-
Строка формата для объектов datetime.
- doublequote:bool, по умолчанию True
-
Управление кавычками quotechar внутри поля.
- escapechar:str, по умолчанию None
-
Строка длиной 1. Символ, используемый для экранирования sep и quotechar, когда это необходимо.
- decimal:str, по умолчанию ‘.’
-
Символ, распознаваемый как десятичный разделитель. Например, используйте ‘,’ для европейских данных.
- errors:str, по умолчанию ‘strict’
-
Указывает, как обрабатываются ошибки кодирования и декодирования. См. аргумент errors для
open()для полного списка вариантов.Новое в версии 1.1.0.
- storage_options:dict, необязательно
-
Дополнительные параметры, которые имеют смысл для определённого подключения к хранилищу, например, хост, порт, имя пользователя, пароль и т. д. Для HTTP(S) URL-адресов пары ключ-значение передаются в
urllib.request.Requestв качестве параметров заголовка. Для других URL-адресов (например, начинающихся с “s3://” и “gcs://”) пары ключ-значение передаются вfsspec.open. См.fsspecиurllibдля получения более подробной информации, и для получения дополнительных примеров параметров хранилища см. здесь.Новое в версии 1.2.0.
- Возвращает
-
- None или str
-
Если path_or_buf равно None, возвращает полученный формат csv в виде строки. В противном случае возвращает None.
Примеры
>>> df = pd.DataFrame({'name': ['Raphael', 'Donatello'], ... 'mask': ['red', 'purple'], ... 'weapon': ['sai', 'bo staff']}) >>> df.to_csv(index=False) 'name,mask,weapon\nRaphael,red,sai\nDonatello,purple,bo staff\n'Создание ‘out.zip’ содержащего ‘out.csv’
>>> compression_opts = dict(method='zip', ... archive_name='out.csv') >>> df.to_csv('out.zip', index=False, ... compression=compression_opts)Для записи csv-файла в новую папку или вложенную папку вам сначала необходимо создать её с помощью Pathlib или os:
>>> from pathlib import Path >>> filepath = Path('folder/subfolder/out.csv') >>> filepath.parent.mkdir(parents=True, exist_ok=True) >>> df.to_csv(filepath)>>> import os >>> os.makedirs('folder/subfolder', exist_ok=True) >>> df.to_csv('folder/subfolder/out.csv')
© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/1.5.0/reference/api/pandas.DataFrame.to_csv.html