使用psycopg2查询PostgreSQL,API传参格式错误求助
解决psycopg2查询结果生成API URL的格式问题
psycopg2执行SELECT查询后返回的是元组列表,每个元素是包含单个城市名的元组(比如('Porto',)),直接拼接会把整个元组转成字符串,导致URL格式不符合API要求。你可以通过以下几种方式处理:
方法1:直接索引元组的第一个元素
循环时取出元组里的第一个元素(索引为0),拿到纯城市名字符串:
cityList = records for city in cityList: api = f"https://api.example.io/?city={city[0]}"
方法2:循环时解包元组
在循环语句里对单元素元组进行解包,直接把元组内的值赋值给city变量:
cityList = records # 注意city后面的逗号,用于解包单元素元组 for city, in cityList: api = f"https://api.example.io/?city={city}"
方法3:提前转换查询结果为字符串列表
如果后续需要多次使用纯城市名列表,可以先把查询结果转换成普通字符串列表:
# 用列表推导式批量转换元组为字符串 cityList = [city[0] for city in records] for city in cityList: api = f"https://api.example.io/?city={city}"
内容的提问来源于stack exchange,提问作者Vitor Barreto
相关产品推荐
相关产品推荐

