On this page
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='"', line_terminator=None, chunksize=None, tupleize_cols=None, date_format=None, doublequote=True, escapechar=None, decimal='.')[source]-
Write object to a comma-separated values (csv) file.
Changed in version 0.24.0: The order of arguments for Series was changed.
Parameters: -
path_or_buf : str or file handle, default None -
File path or object, if None is provided the result is returned as a string. If a file object is passed it should be opened with
newline=’‘, disabling universal newlines.Changed in version 0.24.0: Was previously named “path” for Series.
-
sep : str, default ‘,’ -
String of length 1. Field delimiter for the output file.
-
na_rep : str, default ‘’ -
Missing data representation.
-
float_format : str, default None -
Format string for floating point numbers.
-
columns : sequence, optional -
Columns to write.
-
header : bool or list of str, default True -
Write out the column names. If a list of strings is given it is assumed to be aliases for the column names.
Changed in version 0.24.0: Previously defaulted to False for Series.
-
index : bool, default True -
Write row names (index).
-
index_label : str or sequence, or False, default None -
Column label for index column(s) if desired. If None is given, and
headerandindexare True, then the index names are used. A sequence should be given if the object uses MultiIndex. If False do not print fields for index names. Use index_label=False for easier importing in R. -
mode : str -
Python write mode, default ‘w’.
-
encoding : str, optional -
A string representing the encoding to use in the output file, defaults to ‘ascii’ on Python 2 and ‘utf-8’ on Python 3.
-
compression : str, default ‘infer’ -
Compression mode among the following possible values: {‘infer’, ‘gzip’, ‘bz2’, ‘zip’, ‘xz’, None}. If ‘infer’ and
path_or_bufis path-like, then detect compression from the following extensions: ‘.gz’, ‘.bz2’, ‘.zip’ or ‘.xz’. (otherwise no compression).Changed in version 0.24.0: ‘infer’ option added and set to default.
-
quoting : optional constant from csv module -
Defaults to csv.QUOTE_MINIMAL. If you have set a
float_formatthen floats are converted to strings and thus csv.QUOTE_NONNUMERIC will treat them as non-numeric. -
quotechar : str, default ‘"’ -
String of length 1. Character used to quote fields.
-
line_terminator : string, optional -
The newline character or character sequence to use in the output file. Defaults to
os.linesep, which depends on the OS in which this method is called (‘n’ for linux, ‘rn’ for Windows, i.e.).Changed in version 0.24.0.
-
chunksize : int or None -
Rows to write at a time.
-
tupleize_cols : bool, default False -
Write MultiIndex columns as a list of tuples (if True) or in the new, expanded format, where each MultiIndex column is a row in the CSV (if False).
Deprecated since version 0.21.0: This argument will be removed and will always write each row of the multi-index as a separate row in the CSV file.
-
date_format : str, default None -
Format string for datetime objects.
-
doublequote : bool, default True -
Control quoting of
quotecharinside a field. -
escapechar : str, default None -
String of length 1. Character used to escape
sepandquotecharwhen appropriate. -
decimal : str, default ‘.’ -
Character recognized as decimal separator. E.g. use ‘,’ for European data.
Returns: - None or str
-
If path_or_buf is None, returns the resulting csv format as a string. Otherwise returns None.
Examples
>>> 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' -
© 2008–2012, 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/0.24.2/reference/api/pandas.DataFrame.to_csv.html