Pandas module can work with different data formats, such as JSON, which stands for JavaScript Object Notation. JSON is a common way of storing and exchanging data throughout the web. Sometimes while working with JSON, users need to read the JSON data in Python. For this purpose, the “read_json()” of the “pandas” module is employed in Python.
This tutorial presented a detailed guide on the “pandas.read_json()” method using the following contents:
- What is the “pandas.read_json()” Method in Python?
- Reading JSON File Using the “pandas.read_json()” Method
- Reading JSON String Using the “pandas.read_json()” Method
- Reading Different Orientations of JSON String Using the “pandas.read_json()” Method
What is the Python “pandas.read_json()” Method?
In Python, the “pandas.read_json()” method is used to read the JSON string or JSON file and retrieve the Pandas DataFrame or Series object.
Syntax
Parameters
In this syntax:
- The “path_or_buf” parameter represents the “JSON” string or file path.
- The “orient” parameter represents the JSON file format.
- The “typ” parameter represents the type of object to be recovered.
- The “encoding” parameter represents the encoding that is used to decode data.
- The remaining/other parameters are optional and can be employed for various operations. To learn more, you can check/see this official documentation.
Return Value
The “pandas.read_json()” method retrieves the DataFrame or Series.
Before moving to the example, let’s have a look at the following JSON file that is used in the upcoming example:
Example 1: Read JSON File Using the “pandas.read_json()” Method
In the below-provided example code, imported the “pandas” module and used the “pandas.read_json()” method to read the JSON file by accepting the file name as an argument. After that, utilized the “df.to_string()” method to print the entire DataFrame. Here is an example code:
df = pandas.read_json('sample.json')
print(df.to_string())
The JSON file has been read successfully:
Example 2: Read JSON String Using the “pandas.read_json()” Method
The “pandas.read_json()” method can also be used to read the JSON string. In the below code, the “pandas.read_json()” method takes the JSON string as an argument and reads the JSON string. Take the following code to perform the particular operation:
json_str = '{"Name": ["Joseph", "Anna", "Henry"],"Age": [21, 15, 18],"Height": [5.6, 4.5, 5.8],"Grade": ["A+", "B+", "C+"]}'
df = pandas.read_json(json_str)
print(df)
As you can see, the JSON string data has been retrieved successfully in DataFrame format:
Note: We can also read the JSON data from the web by passing the URL as a string into the “pandas.read_json()” method.
Example 3: Read Various Orientations of JSON String Utilizing the “pandas.read_json()” Method
The “JSON” string data has various formats that are used while working with JSON. We can control all of these formats using the “orient=” parameter of the “pandas.read_json()” method. These formats include “split”, “table”, “index”, “records”, and “values”.
Index Orientation
In the below code, the JSON string contains the “Index” orientation format. This format contains the index value as the label of the DataFrame column. The “pandas.read_json()” takes the JSON string and the “orient= ‘index’” parameter as an argument to read the index orientation JSON string data:
json_string = '{"0":{"Name":"Joseph","Age":10},"1":{"Name":"Anna","Age":15},"2":{"Name":"Henry","Age":17}}'
df = pandas.read_json(json_string)
print(df, '\n')
df = pandas.read_json(json_string, orient='index')
print(df)
The JSON string in index orientation has been read successfully:
Columns Orientation
The “columns” orientation of JSON string data is very equivalent to a Python dictionary. In this format, the columns are the key, and values are also the dictionary with index keys and their values. The below code uses the “pandas.read_json()” method to read this format of JSON:
json_string = '{"Name":{"0":"Joseph","1":"Anna","2":"Henry"},"Age":{"0":10,"1":15,"2":17}}'
df = pandas.read_json(json_string)
print(df)
According to the provided output, the JSON string data has been read successfully:
Using Values Orientation
The JSON string data can also be represented as a list of lists using the “values” orientation. In this orientation, the column labels are passed separately using the “df.columns” attributes. The following code reads the JSON string in “values” format v using the “pandas.read_json()” method:
json_string = '[["Joseph",13,5.3],["Anna", 15,5.6],["Henry",17,4.3]]'
df = pandas.read_json(json_string)
df.columns = ['Name', 'Age', 'Height']
print(df)
Output
Some of the other JSON orientations are provided below:
Records Orientation
Split Orientation
Conclusion
The “pandas.read_json()” method of the “pandas” module is used to read the JSON file or JSON string and retrieve Pandas DataFrame. The JSON data is stored in various orientation formats, such as “records”, “values”, “columns”, and others. The “pandas.read_json()” can read all of these formats easily and efficiently with the help of the “orient=” parameter. This guide delivered a complete tutorial on “pandas.read_json()” via multiple examples.