将 Json 转换为 CSV
Convert Json into CSV
我有 json 这种格式,想转换成 CSV 文件。
{
"extrapolationLevel": 1,
"columnNames": [
"name",
"usersession.country",
"application",
"usersession.osFamily",
"usersession.startTime",
"visuallyCompleteTime"
],
"values": [
[
"pdp",
"Serbia",
"Desktop",
"Windows",
1573215462076,
1503
],
]
}
我想将这个 json 转换成 CSV 格式这是我的脚本
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"]])
预期输出
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
谁能帮帮我。
Data
的键是"extrapolationLevel"
、"columnNames"
、"values"
,没有别的。 Data["usersession.country"]
,例如,没有意义,因为不存在带有该键的字典。这些值只是存储在列表中。以下是您需要做的所有事情:
with open("q.csv", "w") as outfile:
f = csv.writer(outfile)
f.writerow(Data["columnNames"])
f.writerows(Data["values"])
import json
json_str = '''
{
"extrapolationLevel": 1,
"columnNames": [
"name",
"usersession.country",
"application",
"usersession.osFamily",
"usersession.startTime",
"visuallyCompleteTime"
],
"values": [
[
"pdp",
"Serbia",
"Desktop",
"Windows",
1573215462076,
1503
]
]
}
'''
data = json.loads(json_str)
csv_row = lambda v: ('"{}",' * len(v)).format(*v)[:-1] # remove trailing comma
print(csv_row(data["columnNames"]))
for value in data["values"]:
print(csv_row(value))
我有 json 这种格式,想转换成 CSV 文件。
{
"extrapolationLevel": 1,
"columnNames": [
"name",
"usersession.country",
"application",
"usersession.osFamily",
"usersession.startTime",
"visuallyCompleteTime"
],
"values": [
[
"pdp",
"Serbia",
"Desktop",
"Windows",
1573215462076,
1503
],
]
}
我想将这个 json 转换成 CSV 格式这是我的脚本
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"]])
预期输出
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
谁能帮帮我。
Data
的键是"extrapolationLevel"
、"columnNames"
、"values"
,没有别的。 Data["usersession.country"]
,例如,没有意义,因为不存在带有该键的字典。这些值只是存储在列表中。以下是您需要做的所有事情:
with open("q.csv", "w") as outfile:
f = csv.writer(outfile)
f.writerow(Data["columnNames"])
f.writerows(Data["values"])
import json
json_str = '''
{
"extrapolationLevel": 1,
"columnNames": [
"name",
"usersession.country",
"application",
"usersession.osFamily",
"usersession.startTime",
"visuallyCompleteTime"
],
"values": [
[
"pdp",
"Serbia",
"Desktop",
"Windows",
1573215462076,
1503
]
]
}
'''
data = json.loads(json_str)
csv_row = lambda v: ('"{}",' * len(v)).format(*v)[:-1] # remove trailing comma
print(csv_row(data["columnNames"]))
for value in data["values"]:
print(csv_row(value))