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 将所有字符转为 "" ,最后通了。试了各种类型转换最好不用元组去填,巨坑。最后还是选择字符串拼接