我是python的新手,尝试创建一个python脚本,它可以循环我的json数据,然后将结果输出到新的json文件中。但是json.dumps(输出)没有逗号分隔符,这不是一个有效的json,欢迎任何帮助。
以下是我的json数据:
{
"product1":[
{"date":"10-6-2022", "title":"adidas", "qty":"250", "origin":"vietnam"},
{"date":"10-7-2022", "title":"nike", "qty":"200", "origin":"new zeland"},
{"date":"10-8-2022", "title":"puma", "qty":"180", "origin":"USA"}
],
"product2":[
{"date":"10-6-2022", "title":"ecco", "qty":"120", "origin":"france"},
{"date":"10-7-2022", "title":"under armor", "qty":"450", "origin":"china"},
{"date":"10-8-2022", "title":"fila", "qty":"360", "origin":"turkey"}
]}
下面是我的python脚本:
import json
from datetime import date
today = date.today()
dty = today.strftime("%#m-%#d-%Y")
f = open('2.json')
data = json.loads(f.read())
for k, v in data.items():
for x in range(3):
title = v[x]['title']
quantity = v[x]['qty']
origin = v[x]['origin']
if v[x]['date'] == dty:
products = {
"title": title,
"quantity" : quantity,
"origin" : origin,
"date" : dty
}
print(products)产出如下:
{'title': 'adidas', 'quantity': '250', 'origin': 'vietnam', 'date': '10-6-2022'}
{'title': 'ecco', 'quantity': '120', 'origin': 'france', 'date': '10-6-2022'}但是我想要一个逗号分隔符数据,像这样:
{'title': 'adidas', 'quantity': '250', 'origin': 'vietnam', 'date': '10-6-2022'},
{'title': 'ecco', 'quantity': '120', 'origin': 'france', 'date': '10-6-2022'}即使我json.dumps结果,也是一样的
stock = json.dumps(products, indent=2)
print(stock)我拿到了这个:
{
"title": "adidas",
"quantity": "250",
"origin": "vietnam",
"date": "10-6-2022"
}
{
"title": "ecco",
"quantity": "120",
"origin": "france",
"date": "10-6-2022"
}提前谢谢你。
发布于 2022-10-06 08:55:15
您需要使用一个列表,而在该代码中,您没有使用json.dumps()
试试这个:
import json
from datetime import date
today = date.today()
dty = today.strftime("%#m-%#d-%Y")
f = open('2.json')
data = json.loads(f.read())
product_list = []
for k, v in data.items():
for x in range(3):
title = v[x]['title']
quantity = v[x]['qty']
origin = v[x]['origin']
if v[x]['date'] == dty:
products = {
"title": title,
"quantity" : quantity,
"origin" : origin,
"date" : dty
}
product_list.append(products)
print(json.dumps(products))https://stackoverflow.com/questions/73970931
复制相似问题