.
This is production.csv file:
api,prod_date,oil,water,cond,gas
42003024530000,2014-04-01,22,34,0,4928
42003024530000,2014-05-01,30,334,0,4328
42003024530000,2014-06-01,20,44,0,2228
42003024530000,2014-07-01,20,164,0,3328
42003024530000,2014-08-01,0,164,46,3600
This is how data looks like when written into individual json file:
[{"api": "42003024530000","prod_date": "2014-04-01","oil": "22","water": "34","cond": "0","gas": "4928"}]
# Convert csv data into jsondef convert_write_json(data, json_file_name, directory): with open(os.path.join(current_directory, 'TestData', directory, json_file_name + '.json'), "w") as f: f.write('[' + json.dumps(data, sort_keys=False, indent=4, separators=(',', ': ')) + ']')
Method 1: right file into a single json file
# Read CSV File and write into a single json filedef read_production_csv(csv_file_name, json_file, directory): for item in directory: csv_rows = [] csv_file_path = os.path.join(current_directory, 'TestData', csv_file_name + '.csv') with open(csv_file_path) as csv_file: reader = csv.DictReader(csv_file) field = reader.fieldnames for row in reader: csv_rows.extend([{field[i]:row[field[i]] for i in range(len(field))}]) convert_write_json(csv_rows, json_file, item)
Method 2: right each row in the file into a separate json file
# Read CSV File and write each row into a separate json file
def read_production_csv(csv_file_name, directory): for item in directory: csv_file_path = os.path.join(current_directory, 'TestData', csv_file_name + '.csv') with open(csv_file_path) as csv_file: reader = csv.DictReader(csv_file) for row in reader: api = row['api'] prod_date = row['prod_date'] json_file_name = 'production_' + api + '_' + prod_date convert_write_json(row, json_file_name, item)