json数据在字典中,一些值具有不同的数据类型,我想使用python将它们插入到postgres sql中
现在 : 我正在 python 中使用字符串连接方法在 psql 表中写入值 问题:将字符串值与其他值连接时 ('') 不会出现在连接的字符串中,因此 python 会给出错误(值位于从 json 文件创建的字典中) 将数据输入sql的代码
for k in KEYS_NAME:
KEYS=list(data[k][0].keys())
Value =list(data[k][0].values())
if(k!="BMS_Node_Param"):
#data[k][0]["u32SWVer"] ="\'"+str(data[k][0]["u32SWVer"])+"\'"
if k == 'BMS_Pack':
data[k][0]["u32uptime"] ="\'"+str(data[k][0]["u32uptime"])+"\'"
check = ",".join(KEYS)
val = ",".join(str(V)for V in Value)
conn.execute(("INSERT INTO {} ({}) VALUES ({});").format(k,check,val))
Currently :
I am using string concatenation method in python to write values in psql table
Issue : On concatenating a string value with other values ('') does not appear in the concatenated string so python gives an error (values are in dictionary created from a json file)
Code for entering data into sql
for k in KEYS_NAME:
KEYS=list(data[k][0].keys())
Value =list(data[k][0].values())
if(k!="BMS_Node_Param"):
#data[k][0]["u32SWVer"] ="\'"+str(data[k][0]["u32SWVer"])+"\'"
if k == 'BMS_Pack':
data[k][0]["u32uptime"] ="\'"+str(data[k][0]["u32uptime"])+"\'"
check = ",".join(KEYS)
val = ",".join(str(V)for V in Value)
conn.execute(("INSERT INTO {} ({}) VALUES ({});").format(k,check,val))
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一个简单的例子,说明为什么不应使用字符串连接以及参数转义如何使您免遭 SQL 注入。
A simple example of why string concatenation should not be used and how the parameter escaping saves you from SQL injection.