How To Convert A .csv File Into A .json File

James Phoenix
James Phoenix

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:

pd.read_csv('some_filename.csv')
df = pd.read_csv('ice-cream-example.csv')
df
Ice Cream TypeGBP Price
0Vanilla3.50
1Chocolate2.50
2Strawberry2.25

Then you can transform it into json:

.to_json()

json_data = df.to_json()

print(json_data)
{"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’
df.to_json(orient='records')
'[{"Ice Cream Type":"Vanilla","GBP Price":3.5},{"Ice Cream Type":"Chocolate","GBP Price":2.5},{"Ice Cream Type":"Strawberry","GBP Price":2.25}]'
df.to_json(orient='index')
'{"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:

Udemy Bestseller

Learn Prompt Engineering

My O'Reilly book adapted for hands-on learning. Build production-ready prompts with practical exercises.

4.5/5 rating
306,000+ learners
View Course
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)
Topics
Python For SEO

More Insights

Cover Image for Thought Leaders

Thought Leaders

People to follow for compound engineering, context engineering, and AI agent development.

James Phoenix
James Phoenix
Cover Image for Systems Thinking & Observability

Systems Thinking & Observability

Software should be treated as a measurable dynamical system, not as a collection of features.

James Phoenix
James Phoenix