Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to write dataframe in JSON in pretty print style?

I want to convert my dataframe to json and dump it in a file in a pretty print format. I tried -

df.to_json(r'C:\users\madhur\Desktop\example.json,'orient = 'index')

the above code is dumping in json but in a single line.

I also tried

import json
hello = df.to_json(orient = 'index')
with open(r'C:\users\madhur\Desktop\example.json','a') as f:
    json.dump(hello,f,indent=4,sort_keys=True)

but the above code is giving a single line output the the output has a '\' before the double inverted commas.

the output looks like -

"{\"17668620_INCOLL\":{\"DRWECNTRY\":\"NEW ZEALAND........"

if some one has any suggestions, answers or need any more information regarding this query then please comment/answer.

Note - I'm using Python 3.6

like image 523
Madhur Yadav Avatar asked Nov 28 '18 15:11

Madhur Yadav


2 Answers

you can directly pass indent = int :

df.to_json(r'example.json', orient='index', indent=2 )
like image 197
Rahul Palyekar Avatar answered Sep 22 '22 16:09

Rahul Palyekar


Use df.to_dict(orient='records') if you want to simply be able to copy paste something from REPL

like image 28
mathtick Avatar answered Sep 22 '22 16:09

mathtick