The following sample program explains you on how to read a csv file and convert it into json data. Two programs are explained in this blog post. The first program expects the column names in the csv file and second program does not need column names in the file.
The first program expects the headers in the first line of the csv. In case of missing headers, we have to pass it explicitly in the program.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import pandas as pd | |
# This program assumes the csv file has a header. | |
# In case of missing header in the csv file, we have to pass it explicitly to the program | |
csv_file = pd.DataFrame(pd.read_csv("data.csv", sep = ",", header = 0, index_col = False)) | |
csv_file.to_json("data.json", orient = "records", date_format = "epoch", double_precision = 10, force_ascii = True, date_unit = "ms", default_handler = None) |
Sample Input
EMPID,FirstName,LastName,Salary 1001,Amal,Jose,100000 1002,Edward,Joe,100001 1003,Sabitha,Sunny,210000 1004,John,P,50000 1005,Mohammad,S,75000
Here the first line of the csv data is the header
Sample Output
[{"EMPID":1001,"FirstName":"Amal","LastName":"Jose","Salary":100000},{"EMPID":1002,"FirstName":"Edward","LastName":"Joe","Salary":100001},{"EMPID":1003,"FirstName":"Sabitha","LastName":"Sunny","Salary":210000},{"EMPID":1004,"FirstName":"John","LastName":"P","Salary":50000},{"EMPID":1005,"FirstName":"Mohammad","LastName":"S","Salary":75000}]
If the csv file contains a header row, then you should explicitly pass header=0
to override the column names. If headers are not present in the csv file, we have to explicitly pass the field names in a list to the argument names. Duplicates in this list are not allowed. A sample implementation is given below.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import pandas as pd | |
# Since the headers are missing in the csv file, explicitly passing the field names in the program | |
csv_file = pd.DataFrame(pd.read_csv("data.csv", sep = ",", names = ["EmpID", "FirstName","LastName","Salary"], index_col = False)) | |
csv_file.to_json("data.json", orient = "records", date_format = "epoch", double_precision = 10, force_ascii = True, date_unit = "ms", default_handler = None) |