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

如何在Python中修剪SQL查询输出并提取目标字符串?

解决SQL查询结果提取问题

看起来你已经成功执行了SQL查询,但返回的结果是带键的字典列表,而你需要直接拿到里面的字符串值。这里有两种实用方法可以帮你获取期望的输出:

方法1:给SQL结果列加别名(推荐)

给查询里的计算列设置一个简洁的别名,后续取值会更直观,避免用长长的函数语句作为键:

select trim(CONCAT_WS('|','Master Job Name','Seq','TableName','Source File Name Lnd','landingdfname','TargetPath','query1','Execution Sequence')) as csv_header FROM DUAL

对应的Python代码修改如下,通过别名直接取值:

with db.cursor() as cur:
    query_meta = ("select trim(CONCAT_WS('|','Master Job Name','Seq','TableName','Source File Name Lnd','landingdfname','TargetPath','query1','Execution Sequence')) as csv_header FROM DUAL")
    cur.execute(query_meta)
    res = cur.fetchall()
    # 提取目标结果
    desired_output = res[0]['csv_header']
    print(desired_output)

方法2:直接从返回字典中提取值

如果不想修改SQL语句,也可以直接从返回的字典里取出唯一值(因为你的查询只返回一行一列):

with db.cursor() as cur:
    query_meta = ("select trim(CONCAT_WS('|','Master Job Name','Seq','TableName','Source File Name Lnd','landingdfname','TargetPath','query1','Execution Sequence')) FROM DUAL")
    cur.execute(query_meta)
    res = cur.fetchall()
    # 提取字典中的唯一值
    desired_output = next(iter(res[0].values()))
    # 也可以用这种写法:desired_output = res[0][list(res[0].keys())[0]]
    print(desired_output)

两种方法最终都会输出你想要的内容:Master Job Name|Seq|TableName|Source File Name Lnd|landingdfname|TargetPath|query1|Execution Sequence

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:07:28