0
我將兩個表連接在一起,我喜歡將多個值連接在一個記錄中,而沒有重複的值。將多個值連接成一個記錄
輸入表
表名:TAXLOT_ZONE
TID ZONE
1的
1的
1乙
圖1C
2 d
2 d
2] E
3 A
3 B
4 C
5 D期望的輸出表看起來像;
表名:Taxlot_zone_out
TID ZONE
1 A,B,C
2 d,E
3 A,B
4℃
5 d
我將兩個表連接在一起,我喜歡將多個值連接在一個記錄中,而沒有重複的值。將多個值連接成一個記錄
輸入表
表名:TAXLOT_ZONE
TID ZONE
1的
1的
1乙
圖1C
2 d
2 d
2] E
3 A
3 B
4 C
5 D
期望的輸出表看起來像;
表名:Taxlot_zone_out
TID ZONE
1 A,B,C
2 d,E
3 A,B
4℃
5 d
假設你的表按排序順序並且可迭代,您可以使用itertools.groupby
將具有相同第一個元素的行分組。
l = [(1, 'A'), (1, 'A'), (1, 'B'), (1, 'C'),
(2, 'D'), (2, 'D'), (2, 'E'),
(3, 'A'), (3, 'B'),
(4, 'C'),
(5, 'D')]
from itertools import groupby
from operator import itemgetter
result = [(taxlot, list(set(v for k,v in g)))
for taxlot, g in groupby(l, itemgetter(0))]
結果:
[(1, ['A', 'C', 'B']),
(2, ['E', 'D']),
(3, ['A', 'B']),
(4, ['C']),
(5, ['D'])]
有沒有這樣的事情在純Python 「表」。你在使用數據庫嗎?如果是這樣,什麼樣的界面? SQL?如果是這樣,請參閱http://stackoverflow.com/questions/2451026/minimizing-sql-queries-using-join-with-one-to-many-relationship/2451065#2451065 – 2010-03-16 22:27:15
我使用創建的文件地理數據庫或dbf格式由ESRI,GIS公司。我只是想從這個連接表中創建一個新表。 – user295216 2010-03-16 22:37:37