关于python写sql巨坑之特殊字符

sqldepth = [item.get('type_name') for item in depth_list]
sqldepth = sqldepth + ["ref_date", "appid", "id"]
dep_field = map(lambda p: f'"{p}"', sqldepth)
d_field = ','.join(['%s'] * len(depth_result))
self.postgresql_connenet(
    f"insert into fsd.fs_data_access_depth_info({','.join(dep_field)}) values({d_field})",
    depth_result)

我动态爬虫字段带有   3-h  类似的字段,拼接sql的时候程序不承认这些 。要么说你的fs_data_access_depth_info后面是字符,要么是带了 ' 引号。本以为大括号·能解决,最后还是不能解决,看到我自己静态sql带 "" 能通 ,转而ep_field = map(lambda p: f'"{p}"', sqldepth) 用map 将所有字符转为 ""  ,最后通了。试了各种类型转换最好不用元组去填,巨坑。最后还是选择字符串拼接 

猜你喜欢

转载自blog.csdn.net/Steven_yang_1/article/details/132500818