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’.
- 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:{‘w’, ‘x’, ‘a’}, по умолчанию ‘w’
-
Передаётся либо open(mode=), либо fsspec.open(mode=) для управления открытием файла. Типичные значения включают:
‘w’, обнулить файл сначала.
‘x’, эксклюзивное создание, не выполняется, если файл уже существует.
‘a’, добавить в конец файла, если он существует.
- 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','xz','tar'} и другие пары ключ-значение передаются вzipfile.ZipFile,gzip.GzipFile,bz2.BZ2File,zstandard.ZstdCompressor,lzma.LZMAFileилиtarfile.TarFile, соответственно. Например, для более быстрого сжатия и создания воспроизводимого архива gzip можно передать:compression={'method': 'gzip', 'compresslevel': 1, 'mtime': 1}.Добавлен в версии 1.5.0: Добавлена поддержка файлов .tar.
Может быть словарем с ключом ‘method’ в качестве режима сжатия и другими записями как дополнительные параметры сжатия, если режим сжатия ‘zip’.
Передача параметров сжатия в виде ключей в словаре поддерживается для режимов сжатия ‘gzip’, ‘bz2’, ‘zstd’ и ‘zip’.
- 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()для полного списка вариантов. - storage_options:dict, необязательно
-
Дополнительные параметры, имеющие смысл для конкретного подключения к хранилищу, например, хост, порт, имя пользователя, пароль и т. д. Для HTTP(S) URL-адресов пары ключ-значение передаются в
urllib.request.Requestв качестве параметров заголовка. Для других URL-адресов (например, начинающихся с «s3://» и «gcs://») пары ключ-значение передаются вfsspec.open. Подробности см. вfsspecиurllib, и примеры параметров хранилища см. здесь.
- Возвращает:
-
- None или str
-
Если path_or_buf равно None, возвращает результирующий формат csv в виде строки. В противном случае возвращает None.
Примеры
Создать ‘out.csv’ содержащий ‘df’ без индексов
>>> df = pd.DataFrame({'name': ['Raphael', 'Donatello'], ... 'mask': ['red', 'purple'], ... 'weapon': ['sai', 'bo staff']}) >>> df.to_csv('out.csv', index=False)Создать ‘out.zip’ содержащий ‘out.csv’
>>> df.to_csv(index=False) 'name,mask,weapon\nRaphael,red,sai\nDonatello,purple,bo staff\n' >>> 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/2.2.2/reference/api/pandas.DataFrame.to_csv.html