具有特定格式的 CSV 到 JSON
CSV to JSON with Specific format
我有包含此数据的 csv 文件并使用 python 我想转换成 json 格式。
我想转换成这种格式 Json Format.Can 你告诉我我应该使用哪个库或对 sudo 代码的任何建议。
我可以转换为具有键值对的标准 json,但我不知道如何转换为以下 Json 格式。
"T-shirt","Long-tshirt",18
"T-shirt","short-tshirt"19
"T-shirt","half-tshirt",20
"top","very-nice",45
"top","not-nice",56
{
"T-shirts":[
{
"name":"Long-tshirt",
"size":"18"
},
{
"name":"short-tshirt",
"size":"19"
},
{
"name":"half-tshirt",
"size":"20"
},
],
"top":[
{
"name":"very-nice"
"size":45
},
{
"name":"not-nice"
"size":45
},
]
}
import json
json_string = json.dumps(your_dict)
您现在有一个字符串,其中包含来自原始字典的 json 格式化日期 - 这就是您想要的吗?
在此代码中,我将您的 CSV 文件放入 test.csv
文件:(请注意,提供的代码在 19
之前缺少一个逗号)。
"T-shirt","Long-tshirt",18
"T-shirt","short-tshirt",19
"T-shirt","half-tshirt",20
"top","very-nice",45
"top","not-nice",56
然后,使用内置的 csv
和 json
模块,您可以遍历每一行并将它们添加到字典中。我使用 defaultdict
来节省时间,并将该数据写入 json
文件。
import csv, json
from collections import defaultdict
my_data = defaultdict(list)
with open("test.csv") as csv_file:
reader = csv.reader(csv_file)
for row in reader:
if row: # To ignore blank lines
my_data[row[0]].append({"name": row[1], "size": row[2]})
with open("out.json", "w") as out_file:
json.dump(my_data, out_file, indent=2)
生成的文件:
{
"T-shirt": [
{
"name": "Long-tshirt",
"size": "18"
},
{
"name": "short-tshirt",
"size": "19"
},
{
"name": "half-tshirt",
"size": "20"
}
],
"top": [
{
"name": "very-nice",
"size": "45"
},
{
"name": "not-nice",
"size": "56"
}
]
}
我有包含此数据的 csv 文件并使用 python 我想转换成 json 格式。
我想转换成这种格式 Json Format.Can 你告诉我我应该使用哪个库或对 sudo 代码的任何建议。 我可以转换为具有键值对的标准 json,但我不知道如何转换为以下 Json 格式。
"T-shirt","Long-tshirt",18
"T-shirt","short-tshirt"19
"T-shirt","half-tshirt",20
"top","very-nice",45
"top","not-nice",56
{
"T-shirts":[
{
"name":"Long-tshirt",
"size":"18"
},
{
"name":"short-tshirt",
"size":"19"
},
{
"name":"half-tshirt",
"size":"20"
},
],
"top":[
{
"name":"very-nice"
"size":45
},
{
"name":"not-nice"
"size":45
},
]
}
import json
json_string = json.dumps(your_dict)
您现在有一个字符串,其中包含来自原始字典的 json 格式化日期 - 这就是您想要的吗?
在此代码中,我将您的 CSV 文件放入 test.csv
文件:(请注意,提供的代码在 19
之前缺少一个逗号)。
"T-shirt","Long-tshirt",18
"T-shirt","short-tshirt",19
"T-shirt","half-tshirt",20
"top","very-nice",45
"top","not-nice",56
然后,使用内置的 csv
和 json
模块,您可以遍历每一行并将它们添加到字典中。我使用 defaultdict
来节省时间,并将该数据写入 json
文件。
import csv, json
from collections import defaultdict
my_data = defaultdict(list)
with open("test.csv") as csv_file:
reader = csv.reader(csv_file)
for row in reader:
if row: # To ignore blank lines
my_data[row[0]].append({"name": row[1], "size": row[2]})
with open("out.json", "w") as out_file:
json.dump(my_data, out_file, indent=2)
生成的文件:
{
"T-shirt": [
{
"name": "Long-tshirt",
"size": "18"
},
{
"name": "short-tshirt",
"size": "19"
},
{
"name": "half-tshirt",
"size": "20"
}
],
"top": [
{
"name": "very-nice",
"size": "45"
},
{
"name": "not-nice",
"size": "56"
}
]
}