import csv
import json
# defining the function to convert CSV file to JSON file
def convjson(cleanedhm, js):
# creating a dictionary
mydata = {}
# reading the data from CSV file
with open(cleanedhm, encoding='utf-8') as csvfile:
csvRead = csv.DictReader(csvfile)
# Converting rows into dictionary and adding it to data
for rows in csvRead:
mykey = rows['hmid']
mydata[mykey] = rows
# dumping the data
with open('cleanedhm', encoding='utf-8') as jsonfile:
jsonfile.write(json.dumps(mydata, indent=4))
# filenames
cleanedhm = r'mydatalist.csv'
js = r'mydatalist.json'
# Calling the convjson function
convjson(cleanedhm, js)
Pandas is a really great tool, and in this case it does what you need in two very easy lines!
import pandas as pd
csv = pd.read_csv (r'Path where the CSV file is saved\File Name.csv')
csv.to_json (r'Path where the new JSON file will be stored\New File Name.json')
process your file with pandas as a DataFrame and then export with the to_json() method