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

Python使用sqlite3时如何获取SQL数据表的行名称

Python sqlite3 动态获取字段名实现方案

核心逻辑基于Python DB API 2.0 标准规范,所有合规的Python数据库驱动(sqlite3、pymysql、psycopg2等)都通用,无需新建文件、无需硬编码字段名,修改成本极低。

具体修改步骤

  1. 执行查询语句后,从游标对象的description属性提取对应位置的字段名,cursor.description[i][0]对应查询结果第i个字段的字段名,和row[i]的位置一一对应,正好匹配SQLite DB Browser中显示的第0行表头内容。
  2. 把原有print语句里硬编码的Name替换为提取到的动态字段名即可。

完整代码示例

import sqlite3

# 连接数据库(对接其他数据库时仅需修改此处的连接逻辑即可)
conn = sqlite3.connect('你的数据库文件路径.db')
cursor = conn.cursor()

# 执行你的原有查询语句
cursor.execute("SELECT * FROM 你的表名 LIMIT 1")
row = cursor.fetchone()

# 新增这一行获取第一个字段的字段名,对应你原有代码里的row[0]
col_name = cursor.description[0][0]

# 替换原有硬编码Name的print语句,其他逻辑完全不变
print(f"\n{col_name}: {row[0]}\n")

# 关闭连接
cursor.close()
conn.close()

补充说明

如果后续需要适配多字段输出,仅需要调整description的索引即可:比如要获取第二个字段的名称就用cursor.description[1][0],和row[1]对应。
如果希望支持按字段名直接取数,不用记索引,可以设置行工厂:

# 连接数据库后新增这一行配置
conn.row_factory = sqlite3.Row
# 后续取值可以直接写row['字段名'],不需要用索引
print(f"\n{col_name}: {row[col_name]}\n")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 18:24:03