0
由於我是編程新手,我有點掙扎。我目前正在寫一個Python腳本,我有點卡住了。我們的目標是解析從SQL獲取的一些空間信息到可用於我的py腳本的格式。解析Python中的SQL空間列
我能夠通過使用obdc模塊的SQL查詢和fetchall CAST。但是,一旦我獲取的數據是我得到的技巧。這裏是一個從fetchall打印的例子:
[(u'POLYGON ((7014.186279296875 6602.99658203125 1612.5, 7015.984375 6600.416015625 1612.5))',), (u'POLYGON ((6730.962646484375 6715.2490234375 1522.5, 6730.0869140625 6714.13916015625 1522.5))',)]
我不完全確定我在這裏得到它就像一個元組列表。我試圖轉換爲列表的列表,但一定有我失蹤的東西。
這裏是可用的格式我要找:
[[7014.186279296875, 6602.99658203125, 1612.5], [7015.984375, 6600.416015625, 1612.5]]
[[6730.962646484375, 6715.2490234375, 1522.5], [6730.0869140625, 6714.13916015625, 1522.5]]
的我怎麼能做到這一點任何想法?也許有一種更好的方式來CAST在SQL或Python中的模塊,這將更容易使用,而不是隻是做一個cursor.fetchall()
和解析?或者任何解析幫助將是有用的。謝謝。
謝謝@PerunSS。你的代碼運行良好,除了列表中的字符串需要被浮動並且unicode被刪除。到目前爲止的代碼並不複雜。我使用導入odbc,並且查詢=「SELECT TOP 2 CAST([ggem_value] AS varchar(max))FROM [Atlas_STP]。[dbo]。[geom_geometry_sqlgeometry]」,然後執行fetch all。 – erok54
@ erok54將轉換添加到字符串並稍後浮動。至於提取數據時的改進,我假設你正在使用T-SQL,而我對T-SQL並不擅長,但如果你可以從數據庫中過去數據樣本,也許我可以找出一些東西。 – PerunSS