Depending upon your situation, you might need to change file formats to correctly upload your data into another platform. This can easily be achieved with Python with the pandas package.

!pip install pandas
import pandas as pd
import json

. . .

Firstly you can load .csv data in pandas with:

df = pd.read_csv('ice-cream-example.csv')
Ice Cream TypeGBP Price

Then you can transform it into json:


json_data = df.to_json()

{"Ice Cream Type":{"0":"Vanilla","1":"Chocolate","2":"Strawberry"},"GBP Price":{"0":3.5,"1":2.5,"2":2.25}}

It’s also possible to change the structure of the json data returned by modifying the orient parameter.

For Series objects the default is ‘index’ and the allowed values are:

  • ‘split’
  • ‘records’
  • ‘index’
  • ‘table’

For DataFrames, the default is ‘columns’ and the allowed values are:

  • ‘split’
  • ‘records’
  • ‘index’
  • ‘columns’
  • ‘values’
  • ‘table’
'[{"Ice Cream Type":"Vanilla","GBP Price":3.5},{"Ice Cream Type":"Chocolate","GBP Price":2.5},{"Ice Cream Type":"Strawberry","GBP Price":2.25}]'
'{"0":{"Ice Cream Type":"Vanilla","GBP Price":3.5},"1":{"Ice Cream Type":"Chocolate","GBP Price":2.5},"2":{"Ice Cream Type":"Strawberry","GBP Price":2.25}}'

By including a file name inside of the .to_json() method, the json will be automatically saved:

df.to_json(path_or_buf='saved_data.json' , orient='records')

Alternatively if we don’t include a file name in the path_or_buf parameter, then the result returned from to_json() is a string, which we can easily turn into a local json file with:

with open('json_example.json', 'w') as f:
    json.dump(json_data, f)