把detail_info字段插入数据库的总结

该字段非常复杂,有如下问题:

1. 在mysql数据库中它是一个json类型字段

2. 在python中最外面它是一个Field,里面包含list、dict、有各种单双引号的文本


解决办法:

为了把这条数据插入mysql,进行如下处理:

1. 对于python,它虽然是Field,也可以理解成dict,所有可以使用json.dumps方法转成json数据

detail_info = json.dumps(item['detail_info'])

这样做之后有如下好处:(1)对于detail_info中的双引号问题基本不用考虑,该方法已经帮忙解决了。(2)list也兼容json,也可以直接存入数据库了。

2. 如此,只有文本中的单引号问题了。

(1)为了把json插入mysql,必须在sql中把含这个字段的值用单引号引起来,写成这样: \'%s\'

(2)如果里面还有文本也含有单引号,这个sql就会断掉,因此要把detail_info文本中的单引号加反斜杠

detail_info = re.sub(r"'", r"\'", detail_info)
这样问题就解决了。



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值