0
我有一個非常簡單的定向穿越圖形結構在Django models.py
文件轉換成以下兩個Python類:Python的遞歸函數來轉儲樹在Excel
class Node(models.Model):
position = models.IntegerField() # from 1 to 3
name = models.CharField(max_length=255)
value = models.FloatField(default=0.0)
class Edge(models.Model):
source = models.ForeignKey("Node", related_name="__to")
destination = models.ForeignKey("Node", related_name="__from")
weight = models.FloatField(default=0.0)
我需要轉儲的內容樹成Excel文件。寫入Excel文檔很容易,這要歸功於xlwt - 我可以使用簡單的write(x, y, content)
函數寫入任何單元格 - 但我現在遇到的困難是遍歷整個樹(遞歸)並獲取每個可能的在Excel文件中寫入的路徑。考慮到我在第一位置具有3個節點(A1,A2,A3),每個節點鏈接到第二位置中的一個節點(B1),其最終鏈接到第三位置上的一個節點(C1),所以I將需要通過所有可能的路徑,並翻譯成Excel中的結構如下(是你的理解,但它實際上是Excel中的一個單獨的單元格):
Node A1 in position 1 <links to> Node B1 in position 2 <links to> Node C1 in position 3
Node A2 in position 1 <links to> Node B1 in position 2 <links to> Node C1 in position 3
Node A3 in position 1 <links to> Node B1 in position 2 <links to> Node C1 in position 3
在上述例子中,我有Node
5個實例,以及Edge
的5個實例。
在任何想法我怎麼能做到這一點?
謝謝! J
感謝擡起頭 - 我在樹上沒有專家...我的意思是,圖表。任何想法,我可以開始尋找解決原來的問題? – jlibioul
我用一個簡單的算法編輯了我的答案 – arocks
再次感謝您的時間。也許我沒有足夠清楚地解釋自己;我需要的是一種貫穿每條路徑的方式,並將在Excel文件的不同單元格中的特定路徑中使用的每個單節點的名稱寫入。最後,由於有三種可能的路徑,我想在Excel文檔中有3行不同的行,並且每行/路徑使用3列。你明白我的意思嗎? – jlibioul