xxxxxxxxxx
import pandas as pd
df = pd.read_json (r'my_file.json')
# content of my_file.json :
#
# {"Product":{"0":"Desktop Computer","1":"Tablet","2":"Printer","3":"Laptop"},"Price":{"0":700,"1":250,"2":100,"3":1200}}
df.to_csv (r'my_file.csv', index = None)
# content of my_file.json :
#
# Product,Price
# Desktop Computer,700
# Tablet,250
# Printer,100
# Laptop,1200
xxxxxxxxxx
import pandas as pd
# enter the json filename to be converted to json
JSON_FILE = 'json_filename.json'
# enter the csv filename you wish to save it as
CSV_FILE = 'csv_filename.csv'
with open(JSON_FILE, encoding = 'utf-8') as f :
df = pd.read_json(f)
df.to_csv(CSV_FILE, encoding = 'utf-8', index = False)
xxxxxxxxxx
import csv
import json
# Function to convert a CSV to JSON
# Takes the file paths as arguments
def make_json(csvFilePath, jsonFilePath):
# create a dictionary
data = {}
# Open a csv reader called DictReader
with open(csvFilePath, encoding='utf-8') as csvf:
csvReader = csv.DictReader(csvf)
# Convert each row into a dictionary
# and add it to data
for rows in csvReader:
# Assuming a column named 'No' to
# be the primary key
key = rows['No']
data[key] = rows
# Open a json writer, and use the json.dumps()
# function to dump data
with open(jsonFilePath, 'w', encoding='utf-8') as jsonf:
jsonf.write(json.dumps(data, indent=4))
# Driver Code
# Decide the two file paths according to your
# computer system
csvFilePath = r'Names.csv'
jsonFilePath = r'Names.json'
# Call the make_json function
make_json(csvFilePath, jsonFilePath)
xxxxxxxxxx
import json
import csv
with open('G:\Akhil\jsonoutput.json') as json_file:
jsondata = json.load(json_file)
data_file = open('G:\Akhil\jsonoutput.csv', 'w', newline='')
csv_writer = csv.writer(data_file)
count = 0
for data in jsondata:
if count == 0:
header = data.keys()
csv_writer.writerow(header)
count += 1
csv_writer.writerow(data.values())
data_file.close()
xxxxxxxxxx
'''
@author : alixaprodev.com
'''
import csv, json
input_json_file='json_file.json'
output_csv_file='csv_file.csv'
input = open(input_json_file)
data = json.load(input)
input.close()
output = csv.writer(open(output_csv_file,'w'))
output.writerow(data[0].keys()) # header row
for row in data:
output.writerow(row.values())
xxxxxxxxxx
import pandas as pd
csv_data = pd.read_csv('data.csv')
json_data = csv_data.to_json(orient = 'records')
with open('json_data.json', 'w') as jsonfile:
jsonfile.write(json_data)
xxxxxxxxxx
let myObj= [
{ "ean":1, "name":'prod1', "attibutes":[{"attr": 100,"color": "green"},{"attr": 200,"color": "red"}] },
{ "ean":2, "name":'prod1', "attibutes":[{"attr": 100,"color": "white"},{"attr": 200,"color": "blu"}] }
];
function toCsv(arrOfObj){
// array of objects with nested objects
// keys for arr of obj (rows) is numeric
// key for elements of nested obj is a name
// I transform each row in an array
const csvString = [
arrOfObj.map(item => [
item.ean,
item.name,
//NO: passes 0:object,1:obj, Object.entries(item.attibutes).map(([k,v]) => `${k}:${v}`)
Object.keys(item.attibutes).map(row => [ Object.keys(item.attibutes[row]).map( elkey => elkey + ':' + item.attibutes[row][elkey] )])
])]
.map(e => e.join(";"))
.join("\n");
console.log(csvString);
return csvString;
}
//TEST
toCsv(myObj);
xxxxxxxxxx
# call csvkit (which is a Python tool) to convert json to csv:
# https://csvkit.readthedocs.io/en/latest/
in2csv data.json > data.csv
xxxxxxxxxx
const items = [
{name: 'John', age: 31},
{name: 'Maria', age: 25},
];
const replacer = (key, value) => value === null ? '' : value // specify how you want to handle null values here
const header = Object.keys(items[0]);
let csv = items.map(row => header.map(fieldName => row[fieldName], replacer).join(','));
csv.unshift(header.join(','));
csv = csv.join('\r\n');
console.log(csv)