# 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=None, quoting=None, quotechar='"', line_terminator='\n', chunksize=None, tupleize_cols=None, date_format=None, doublequote=True, escapechar=None, decimal='.')

  Write DataFrame to a comma-separated values (csv) file

  Parameters:

  path_or_buf : string or file handle, default None

  > File path or object, if None is provided the result is returned as a string.

  sep : character, default ‘,’

  > Field delimiter for the output file.

  na_rep : string, default ‘’

  > Missing data representation

  float_format : string, default None

  > Format string for floating point numbers

  columns : sequence, optional

  > Columns to write

  header : boolean or list of string, default True

  > Write out the column names. If a list of strings is given it is assumed to be aliases for the column names

  index : boolean, default True

  > Write row names (index)

  index_label : string or sequence, or False, default None

  > Column label for index column(s) if desired. If None is given, and header and index are True, then the index names are used. A sequence should be given if the DataFrame 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 : string, 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 : string, optional

  > a string representing the compression to use in the output file, allowed values are ‘gzip’, ‘bz2’, ‘xz’, only used when the first argument is a filename

  line_terminator : string, default `'\n'`

  > The newline character or character sequence to use in the output file

  quoting : optional constant from csv module

  > defaults to csv.QUOTE_MINIMAL. If you have set a float_format then floats are converted to strings and thus csv.QUOTE_NONNUMERIC will treat them as non-numeric

  quotechar : string (length 1), default ‘”’

  > character used to quote fields

  doublequote : boolean, default True

  > Control quoting of quotechar inside a field

  escapechar : string (length 1), default None

  > character used to escape sep and quotechar when appropriate

  chunksize : int or None

  > rows to write at a time

  tupleize_cols : boolean, default 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.

  > 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).

  date_format : string, default None

  > Format string for datetime objects

  decimal: string, default ‘.’

  > Character recognized as decimal separator. E.g. use ‘,’ for European data

Scroll To Top