You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从PostgreSQL仅获取查询值,而非表名及索引信息?

问题解决:从PostgreSQL获取纯查询值避免列名和索引干扰requests请求

问题场景

你使用以下代码从PostgreSQL的premier_league表查询club_url并存入DataFrame:

dataFrame = pds.read_sql("SELECT club_url FROM premier_league WHERE club_name LIKE '%%Chel%%'", dbConnection)

直接将该DataFrame作为URL传入requests.get()时,触发InvalidSchema错误,原因是传入的内容包含了列名club_url和索引0,并非纯URL字符串。

完整报错信息:

"C:\Users\zszen\PycharmProjects\venv\Football\Scripts\import_players_csv.py", line 23, in <module>
    r = s.get(url)
  File "C:\Users\zszen\PycharmProjects\venv\Football\lib\site-packages\requests\sessions.py", line 600, in get
    return self.request("GET", url, **kwargs)
  File "C:\Users\zszen\PycharmProjects\venv\Football\lib\site-packages\requests\sessions.py", line 587, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Users\zszen\PycharmProjects\venv\Football\lib\site-packages\requests\sessions.py", line 695, in send
    adapter = self.get_adapter(url=request.url)
  File "C:\Users\zszen\PycharmProjects\venv\Football\lib\site-packages\requests\sessions.py", line 792, in get_adapter
    raise InvalidSchema(f"No connection adapters were found for {url!r}")
requests.exceptions.InvalidSchema: No connection adapters were found for 'club_url
0  https://www.transfermarkt.co.uk/fc-chelsea/sta...'
                                            club_url
0  https://www.transfermarkt.co.uk/fc-chelsea/sta...

解决方法

1. 提取单行单列的纯值(查询结果仅一条时)

若查询结果只有一条数据,直接从DataFrame中提取对应单元格的字符串值:

# 方法1:通过位置索引提取
url = dataFrame.iloc[0, 0]
# 方法2:通过列名+位置索引提取
url = dataFrame['club_url'].iloc[0]
# 方法3:通过标签索引提取
url = dataFrame.at[0, 'club_url']

将上述提取的url传入requests.get()即可正常请求。

2. 处理多行查询结果

若查询结果包含多条URL,将列数据转换为纯字符串列表后逐个请求:

url_list = dataFrame['club_url'].tolist()
for url in url_list:
    r = s.get(url)
    # 此处添加你的后续处理逻辑

内容的提问来源于stack exchange,提问作者kesbetik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 17:15:47