I have json in this format and want to convert in to the CSV file.
{
"extrapolationLevel": 1,
"columnNames": [
"name",
"usersession.country",
"application",
"usersession.osFamily",
"usersession.startTime",
"visuallyCompleteTime"
],
"values": [
[
"pdp",
"Serbia",
"Desktop",
"Windows",
1573215462076,
1503
],
]
}
I want to convert this json into CSV format here is my script
import csv
import json
with open('response_1573222394875.json') as infile:
Data = json.loads(infile.read())
with open("q.csv", "w") as outfile:
f = csv.writer(outfile)
f.writerow(["name","usersession.country","application","usersession.osFamily","usersession.startTime","visuallyCompleteTime"])
f.writerow([Data["name"], Data["usersession.country"],
Data["application"],
Data["usersession.osFamily"],
Data["usersession.startTime"],
Data["visuallyCompleteTime"]])
Expected Output
name usersession.country application usersession.osFamilyusersession.startTime visuallyCompleteTime
pdp Serbia Desktop Windows 1573215462076 1503
plp us APP Windows 1573215462076 1548
startpage uk Site Windows 1573215462076 1639
product india Desktop Windows 1573215462076 3194
pdp Vietnam APP Windows 1573215462076 3299
can any one help me here please.
The keys of Data
are "extrapolationLevel"
, "columnNames"
, and "values"
, nothing else. Data["usersession.country"]
, for example, doesn't make sense, because there's no dictionary present with that key. The values are just stored in lists. Here's all you need to do:
with open("q.csv", "w") as outfile:
f = csv.writer(outfile)
f.writerow(Data["columnNames"])
f.writerows(Data["values"])