首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python循环json数据,然后输出没有分隔符的json。

Python循环json数据,然后输出没有分隔符的json。
EN

Stack Overflow用户
提问于 2022-10-06 08:44:19
回答 1查看 54关注 0票数 0

我是python的新手,尝试创建一个python脚本,它可以循环我的json数据,然后将结果输出到新的json文件中。但是json.dumps(输出)没有逗号分隔符,这不是一个有效的json,欢迎任何帮助。

以下是我的json数据:

代码语言:javascript
复制
{
"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脚本:

代码语言:javascript
复制
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)

产出如下:

代码语言:javascript
复制
{'title': 'adidas', 'quantity': '250', 'origin': 'vietnam', 'date': '10-6-2022'}
{'title': 'ecco', 'quantity': '120', 'origin': 'france', 'date': '10-6-2022'}

但是我想要一个逗号分隔符数据,像这样:

代码语言:javascript
复制
{'title': 'adidas', 'quantity': '250', 'origin': 'vietnam', 'date': '10-6-2022'},
{'title': 'ecco', 'quantity': '120', 'origin': 'france', 'date': '10-6-2022'}

即使我json.dumps结果,也是一样的

代码语言:javascript
复制
     stock = json.dumps(products, indent=2)
     print(stock)

我拿到了这个:

代码语言:javascript
复制
{
"title": "adidas",  
"quantity": "250",  
"origin": "vietnam",
"date": "10-6-2022" 
}
{
"title": "ecco",
"quantity": "120",
"origin": "france",
"date": "10-6-2022"
}

提前谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2022-10-06 08:55:15

您需要使用一个列表,而在该代码中,您没有使用json.dumps()

试试这个:

代码语言:javascript
复制
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))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73970931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档