1
我有一個數據庫表,如下所示。該數據是在樹與將從數據庫中取出的樹型數據插入到Python字典中
CREATE TABLE IF NOT EXISTS DOMAIN_HIERARCHY (
COMPONENT_ID INT NOT NULL ,
LEVEL INT NOT NULL ,
COMPONENT_NAME VARCHAR(127) NOT NULL ,
PARENT INT NOT NULL ,
PRIMARY KEY (COMPONENT_ID)
);
下面的數據是在表中
(1,1,'A',0)
(2,2,'AA',1)
(3,2,'AB',1)
(4,3,'AAA',2)
(5,3,'AAB',2)
(6,3,'ABA',3)
(7,3,'ABB',3)
我已經找回在Python字典中的數據和存儲
我寫的形式下面的代碼
conx = sqlite3.connect('nameofdatabase.db')
curs = conx.cursor()
curs.execute('SELECT COMPONENT_ID, LEVEL, COMPONENT_NAME, PARENT FROM DOMAIN_HIERARCHY')
rows = curs.fetchall()
cmap = {}
for row in rows:
cmap[row[0]] = row[2]
hrcy={}
for level in range(1, maxl + 1):
for row in rows:
if row[1] == level:
if hrcy == {}:
hrcy[row[2]] = []
continue
parent = cmap[row[3]]
hrcy[parent].append({ row[2]: [] })
我面臨的問題是節點超過第二級,它們正在增加而不是他們的父母;我應該在哪裏做代碼中的更改?
這工作!非常感謝Don Kriby :) – Praneeth 2013-03-15 06:20:13