iT邦幫忙

0

python中使用sql select如何抓取資料同時抓取欄位名稱

  • 分享至 

  • xImage

再寫python時使用sql
SELECT * FROM TABLE_NAME
print出來的只有所有欄位的data
要如何同時取得欄位名稱及data,並關聯起來做應用呢?
(如想要print出某個欄位的值)

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
海綿寶寶
iT邦大神 1 級 ‧ 2019-11-22 12:30:33
cursor = conn.cursor(MySQLdb.cursors.DictCursor)
cursor.execute("SELECT name, category FROM animal")
result_set = cursor.fetchall()
for row in result_set:
    print "%s, %s" % (row["name"], row["category"])
    
//column names
num_fields = len(cursor.description)
field_names = [i[0] for i in cursor.description]

資料來源一
資料來源二

選我正解

小魚 iT邦大師 1 級 ‧ 2019-11-22 12:33:11 檢舉

你這樣有列出欄位名稱嗎?
他應該是要在不知道欄位名稱的情況下列出欄位名稱內容吧.

2
paicheng0111
iT邦大師 5 級 ‧ 2019-11-22 14:01:44

利用cursor物件的description屬性

cursor.execute("SELECT * FROM TABLE_NAME")
field_name = [des[0] for des in cursor.description]

https://stackoverflow.com/a/7831685/6202343

0
d86123
iT邦新手 5 級 ‧ 2021-11-18 09:54:02

在pymysql中有範例

import pymysql

conn = pymysql.connect(host="localhost", port=3306, user="root", passwd="", db="mysql")

cur = conn.cursor()

cur.execute("SELECT Host,User FROM user")

print(cur.description)
print()

for row in cur:
    print(row)

cur.close()
conn.close()

使用cur.description應該就可以列出

我要發表回答

立即登入回答