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

Sqlite3查询返回(type,)而非"type",如何解决?

SQLite查询结果返回元组而非单个值的解决方法

你遇到的问题是因为fetchall()返回的是包含查询行的列表,每一行都是一个元组——哪怕你只查询了一个字段,这一行也会被包装成元组。所以acctype[0]拿到的是第一行的元组(type,),而不是里面的字符串值。

解决方法有几种:

  • 直接取元组的第一个元素:

    c.execute("SELECT type FROM accounts")
    acctype = c.fetchall()
    print(acctype[0][0])  # 取第一行元组的第一个元素
    
  • 如果只需要获取第一行数据,用fetchone()替代fetchall()更高效:

    c.execute("SELECT type FROM accounts")
    acctype = c.fetchone()
    print(acctype[0])  # fetchone()返回单一行的元组,取第一个元素
    
  • 要是需要把所有查询结果都转成单个值的列表,可以用列表推导式:

    c.execute("SELECT type FROM accounts")
    acctype_list = [row[0] for row in c.fetchall()]
    print(acctype_list[0])  # 列表里的每个元素都是单个type值
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 06:20:33