python读取json文件并解析出错_python解析中文json插入数据库错误

这是需要解析的json文件内容。

{

"datasources": [

{

"datasource": "http://xxx",

"group_type": "xxx",

"label": "\u65e5\u5e38\u4e2d\u5fc3"

}

]

}

这里采用python来解析这个文本内容如下:

#!/usr/bin/env python

#encoding: utf-8

import json

from db import db

import sys

def run():

db = db()

with open("cluster_info.txt") as f:

data = json.load(f)

print data

conn = db.connect()

db.execute(conn, "set names utf-8;")

for d in data["datasources"]:

datasource = d["datasource"]

group_type = d["group_type"]

label = d["label"]

sql = "insert into t1 (`c1`, `c2`, `c3`) values ('%s', '%s', '%s')" %\

(datasource, group_type, label)

db.execute(conn, sql)

db.disconnect(conn)

if __name__ == "__main__":

run()

但是在解析的过程中始终无法把数据插入到数据库中,报的错误如下:

UnicodeEncodeError: 'latin-1' codec can't encode characters in position 151-154: ordinal not in range(256)

自己尝试过各种编码解码,始终没能够解决这个乱码问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值