user2242044
user2242044

Reputation: 9243

Pandas Dataframe conversion to JSON

I have a Pandas Dataframe or two rows with data that I'd like to pass as a JSON array.

The JSON needs to be formatted as follow:

[{
    "Date": "2017-02-03",
    "Text": "Sample Text1"
},
{
    "Date": "2015-02-04",
    "Text": "Sample Text2"
}]

I tried using df.to_json(orient='index'), but the output is not quite right as it seems to be using the index values as keys

{"0":{"Date":"2017-02-03","Text""Sample Text1"},"1":{"Date":"2017-02-04","Text""Sample Text2"}}

Upvotes: 1

Views: 282

Answers (1)

vield
vield

Reputation: 306

If you want an array of dictionaries, you can use orient='records':

>>> import pandas as pd
>>> df = pd.DataFrame({
...     'Date': ['2017-02-03', '2015-02-04'],
...     'Text': ['Sample Text 1', 'Sample Text 2']
... })
>>> df.to_json(orient='records')
'[{"Date":"2017-02-03","Text":"Sample Text 1"},{"Date":"2015-02-04","Text":"Sample Text 2"}]'

Upvotes: 2

Related Questions