Currently pandas.DataFrame.to_json supports orient=records which yields a file of [{column -> value}, ... , {column -> value}] (as a single line). I'd like to request a slight variation of this format which is a single {column -> value} per line. This yields a similar format as PostgreSQL's row_to_json() function.

Example of the TPC-H region table using orient=records

[{"r_regionkey":0,"r_name":"AFRICA","r_comment":"lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to "},{"r_regionkey":1,"r_name":"AMERICA","r_comment":"hs use ironic, even requests. s"},{"r_regionkey":2,"r_name":"ASIA","r_comment":"ges. thinly even pinto beans ca"},{"r_regionkey":3,"r_name":"EUROPE","r_comment":"ly final courts cajole furiously final excuse"},{"r_regionkey":4,"r_name":"MIDDLE EAST","r_comment":"uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl"}]

desired new format:

{"r_regionkey":0,"r_name":"AFRICA","r_comment":"lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are according to "}
{"r_regionkey":1,"r_name":"AMERICA","r_comment":"hs use ironic, even requests. s"}
{"r_regionkey":2,"r_name":"ASIA","r_comment":"ges. thinly even pinto beans ca"}
{"r_regionkey":3,"r_name":"EUROPE","r_comment":"ly final courts cajole furiously final excuse"}
{"r_regionkey":4,"r_name":"MIDDLE EAST","r_comment":"uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furiousl"}

Comment From: jreback

dupe of #9180, though I like your example data.

This would be a straightforward change in to_json, just pass another orient I think and implement in c.

pull-requests are welcome.

Comment From: bashtage

Isn't one just a regex replace away from the other?

Comment From: jorisvandenbossche

Unifiying the to_dict and to_json orients a bit would also be nice.

Comment From: WillAyd

This is possible via df.to_json(orient="records", lines=True)