首页 > 解决方案 > 存储输出时 JSON 文件中的垃圾值

问题描述

当我在网上抓取网站并存储输出时,我观察到我的数字数据正在被某种乱码数据所取代。我不知道该怎么办。

json.dumps(lst)
with open('data.json', 'w') as f:
json.dump(lst , f,indent=4)

这就是我存储数据的方式

[
{
    "product_title": "Skybags Brat Black 46 Cms Casual Backpack",
    "MRP": "\u20b92,010.00",
    "Discounted_price": "\u20b9969.00"
},
[

这就是我数据的样子

更新 :

json.dumps(lst, ensure_ascii=False)添加到我的代码后遇到此错误

标签: pythonjsonweb-scrapingutf-8

解决方案


这不是胡说八道。它是一个 Unicode 字符。你可以ensure_ascii=Falsejson.dumps()

import json
l = [
{
    "product_title": "Skybags Brat Black 46 Cms Casual Backpack",
    "MRP": "\u20b92,010.00",
    "Discounted_price": "\u20b9969.00"
    }
]

x = json.loads(json.dumps(l, ensure_ascii=False))
print(x)
[
{
'product_title': 'Skybags Brat Black 46 Cms Casual Backpack',
 'MRP': '₹2,010.00', 
'Discounted_price': '₹969.00'
}
]

将数据按原样写入文件。用这个

with open('data.json', 'w', encoding='utf-8') as f:
    json.dump(lst , f,indent=4,ensure_ascii=False)

推荐阅读