Разбор обновленного списка кортежей с использованием Psycopg 2 с Python3 - PullRequest
0 голосов
/ 14 февраля 2019

Как удалить из каждого индекса результата, используя Psycopg 2 в Python 3?

Ниже приведен результат запроса - который, на мой взгляд, представляет собой Список кортежей , согласно fetchall () .

import psycopg2
conn = psycopg2.connect(
    host="localhost", database="mydb_name", user="postgres", password="mydb_pwd);

# Activate connection cursor
cur = conn.cursor()
cur.execute(
    """
    SELECT
        (dmp).path[1],
        degrees(
            ST_Azimuth(
                (dmp).geom,
                ST_SetSRID(ST_MakePoint(391139.27, 5821816.69, 1.6), 25833)
            )
        ) AS azm 
    FROM 
    (SELECT ST_DumpPoints(geometry) AS dmp
     FROM surface_geometry
     Where cityobject_id=95) q
    """)
BuildingsAzimuth = cur.fetchall()

Ниже приведен краткий обзор результата.

[(1, 218.030625163645),
 (1, 218.002520152173),
 (1, 218.002523848173),
 (1, 218.030628886541),
 (1, 218.030625163645),
 (1, 218.043760742269),
 (1, 218.030625163645),
 (1, 218.030628886541),
         .
         .
         .
 (1, 218.439989653911),
 (1, 218.002523848173),
 (1, 218.002520152173)]

Заранее спасибо!

1 Ответ

0 голосов
/ 14 февраля 2019

Список пониманий в сочетании с распаковкой кортежа - вот путь: сначала присвойте свой результат переменной (в этом случае я назначил его в result_list), затем используйте понимание списка, которое повторяется в двухэлементном (Indexи значение) кортежи в вашем списке и возвращают только значение результата, а не индекс.

cleaned_result = [value for index, value in results_list] #Creates a new list with values you are interested in, without the indices.  
print(cleaned_result[0:3])

Результат:

[218.030625163645, 218.002520152173, 218.002523848173]
...