Pandas DataFrame: to_json() function

DataFrame - to_json() function

The to_json() function is used to convert the object to a JSON string.

Note: NaN's and None will be converted to null and datetime objects will be converted to UNIX timestamps.


DataFrame.to_json(self, path_or_buf=None, orient=None, date_format=None, double_precision=10, force_ascii=True, date_unit='ms', default_handler=None, lines=False, compression='infer', index=True)


Name Description Type/Default Value Required / Optional
path_or_buf File path or object. If not specified, the result is returned as a string. string or file handle Optional
orient  Indication of expected JSON string format.
  • Series
    • default is ‘index’
    • allowed values are: {‘split’,’records’,’index’,’table’}
  • DataFrame
    • default is ‘columns’
    • allowed values are: {‘split’,’records’,’index’,’columns’,’values’,’table’}
  • The format of the JSON string
    • ‘split’ : dict like {‘index’ -> [index], ‘columns’ -> [columns], ‘data’ -> [values]}
    • ‘records’ : list like [{column -> value}, … , {column -> value}]
    • ‘index’ : dict like {index -> {column -> value}}
    • ‘columns’ : dict like {column -> {index -> value}}
    • ‘values’ : just the values array
    • ‘table’ : dict like {‘schema’: {schema}, ‘data’: {data}} describing the data, and the data component is like orient='records'.
string Required
date_format    Type of date conversion. ‘epoch’ = epoch milliseconds, ‘iso’ = ISO8601. The default depends on the orient. For orient='table', the default is ‘iso’. For all other orients, the default is ‘epoch’. {None, ‘epoch’, ‘iso’} Required
double_precision  The number of decimal places to use when encoding floating point values. int
Default Value: 10
force_ascii  Force encoded string to be ASCII. bool
Default Value: True
date_unit     The time unit to encode to, governs timestamp and ISO8601 precision. One of ‘s’, ‘ms’, ‘us’, ‘ns’ for second, millisecond, microsecond, and nanosecond respectively. string
Default Value: ‘ms’ (milliseconds)
default_handler    Handler to call if object cannot otherwise be converted to a suitable format for JSON. Should receive a single argument which is the object to convert and return a serialisable object. callable
Default Value: None
lines     If 'orient' is 'records' write out line delimited json format. Will throw ValueError if incorrect 'orient' since others are not list like. bool
Default Value: False
compression    A string representing the compression to use in the output file, only used when the first argument is a filename. By default, the compression is inferred from the filename. {'infer', 'gzip', 'bz2', 'zip', 'xz', None} Required
index  Whether to include the index values in the JSON string. Not including the index (index=False) is only supported when orient is ‘split’ or ‘table’. bool
Default Value: True

Returns: None or str
If path_or_buf is None, returns the resulting json format as a string. Otherwise returns None.


Download the Pandas DataFrame Notebooks from here.

Previous: DataFrame - to_excel() function
Next: DataFrame - to_latex() function

Follow us on Facebook and Twitter for latest update.