栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Python

python中sql拼接时对字段可能为空的处理思路

Python 更新时间:发布时间: 百科书网 趣学号

上午遇到的一个问题,现在有一个需求,将上传的excel文件解析出来并将解析出来的字段信息保存到mysql数据库。用的pandas解析,字符串的format方法拼接sql,像下面这样:

sql = f"""
    insert into xxx(c1, c2, c3) values ("{v1}", "{v2}", "{v3}");
"""

excel中的字段可能有值可能没值,比如说v1字段,类型为日期型,如果有值则c1保存日期值,没有的话c1就保存null。现在面临的一个问题就是,{v1}外面引号的处理,如果不带引号,v1有值时插入日期会报错,如果带引号,v1没值时插入"null"也会报错,因为c1列只接受null或日期。

想了好久代码里都没有想到好的解决思路,甚至想到了用触发器解决,后来请教了下同事,顿时醍醐灌顶,只能说,路漫漫其修远兮!同事只加了一句代码:sql.replace('"null"', 'null'),就是这么简洁优雅。

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/987115.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号