How to Convert a JSON to CSV in Python?

How to Convert a JSON to CSV in Python?

Introduction

JSON (JavaScript Object Notation) and CSV (Comma Separated Values) are two commonly used data formats for storing and exchanging data. JSON is a lightweight and human-readable format, while CSV is a simple and efficient format for storing tabular data. In this tutorial, we will learn how to convert a JSON file to a CSV file in Python.

Prerequisites

In order to follow this tutorial, you should have a basic understanding of Python and its syntax. You should also have Python installed on your computer. If you don't have Python installed, you can download and install it from here.

Step 1: Importing the necessary libraries

In order to convert a JSON file to a CSV file, we will be using the json and csv libraries in Python. The json library is used for working with JSON data, while the csv library is used for working with CSV data. We will import these libraries using the import statement.

    import jsonimport csv      

Step 2: Loading the JSON file

Next, we will use the json.load() function to load the JSON file into a Python dictionary. This function takes in a file object as a parameter and returns a dictionary containing the data from the JSON file. We will also use the open() function to open the JSON file in read mode.

    with open('data.json', 'r') as json_file:    data = json.load(json_file)      

In the above code, we have opened the data.json file in read mode and assigned the data to the data variable.

Step 3: Converting the JSON data to CSV

Now, we will use the csv.writer() function to create a CSV writer object. This function takes in a file object and returns a writer object that can be used to write data to the CSV file. We will also use the open() function to open the CSV file in write mode.

    with open('data.csv', 'w') as csv_file:    writer = csv.writer(csv_file)      

Next, we will use a for loop to iterate through the data in the dictionary and write it to the CSV file. We will use the writerow() function to write each row of data to the CSV file.

    for row in data:    writer.writerow(row)      

In the above code, we have used the for loop to iterate through the data in the data dictionary and write each row to the CSV file using the writerow() function.

Step 4: Complete code

Here is the complete code for converting a JSON file to a CSV file in Python:

    import jsonimport csvwith open('data.json', 'r') as json_file:    data = json.load(json_file)with open('data.csv', 'w') as csv_file:    writer = csv.writer(csv_file)    for row in data:        writer.writerow(row)      

Conclusion

In this tutorial, we have learned how to convert a JSON file to a CSV file in Python. We have used the json and csv libraries to load and write data to the files. You can now use this knowledge to convert JSON files to CSV files in your own Python projects.

Further ReadingUseful Links: