Re: How to store the PSQL command result into an array or Python dictionary?

From: Yaroslav Fedevych <yaroslav(at)fedevych(dot)name>
To: pgsql-admin <pgsql-admin(at)postgresql(dot)org>
Subject: Re: How to store the PSQL command result into an array or Python dictionary?
Date: 2015-11-27 09:59:45
Message-ID: CAEswnZguoMP7UWg8h=GmW4X7QBzueFx86Uqxf2Px-+CRqXpwjg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

psycopg2 has an extension to retrieve rows as dictionaries from a cursor.

See http://initd.org/psycopg/docs/extras.html#dictionary-like-cursor
for details.

You don't need (unless you want to, of course) to deal with JSON and
introduce major overhead for that.

On Wed, Nov 25, 2015 at 9:20 PM, Yaser Raja <yrraja(at)gmail(dot)com> wrote:

> In PG 9.2 and above you can use the function row_to_json to get the result
> as a JSON.
>
> SELECT row_to_json(mytable) from myTable WHERE Country='Thailand' ;
> row_to_json
> ----------------------------------------------------------------
> {"id":2,"subcontinent":"South-East Asia","country":"Thailand"}
> (1 row)
>
> You should be able to use this JSON for further processing in Python.
>
> Regards
> Yaser
>
>
>
> On Tue, Nov 24, 2015 at 10:55 PM, KhunSanAung <khunsanaung(dot)gis(at)gmail(dot)com>
> wrote:
>
>> Hi All,
>>
>> I have a postgres database with 'myTable' having three columns as
>> followed.
>>
>> id
>>
>> SubContinent
>>
>> Country
>>
>> 1
>>
>> South-East Asia
>>
>> Indonesia
>>
>> 2
>>
>> South-East Asia
>>
>> Thailand
>>
>> 3
>>
>> South-East Asia
>>
>> Malaysia
>>
>> 4
>>
>> South-East Asia
>>
>> Singapore
>>
>> 5
>>
>> South-East Asia
>>
>> Philippines
>>
>> 6
>>
>> South-East Asia
>>
>> Vietnam
>>
>> 7
>>
>> South-East Asia
>>
>> Myanmar
>>
>> 8
>>
>> South-East Asia
>>
>> Brunei
>>
>> 9
>>
>> South-East Asia
>>
>> Cambodia
>>
>> 10
>>
>> South-East Asia
>>
>> Laos
>>
>> 11
>>
>> South-East Asia
>>
>> Timor Leste
>>
>>
>>
>> I want to filter & select the table with some condition.
>>
>>
>> SELECT SubContinent, Country from myTable WHERE Country='Thailand' ;
>>
>> Accessing to pgdatabase via Python is okay for me.
>>
>> Using the PSQL command via Python, I would like to select the columns and
>> store the values in an array of dictionary like below.
>>
>>
>> dict= {'SubContinent': 'South-East Asia', 'Country': 'Thailand'};
>>
>>
>> How can I put the selection result into a Python dictionary?
>>
>>
>> Any help is highly appreciate.
>>
>> Many thanks in advanced.
>>
>>
>> Best regards
>>
>>
>> --
>> Have a nice day!
>> --
>>
>> *Mr. Khun San Aung*
>> * <http://geoportal.icimod.org/>*
>>
>
>

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Kouber Saparev 2015-11-27 18:25:49 VACUUM unable to accomplish because of a non-existent MultiXactId
Previous Message Achilleas Mantzios 2015-11-27 09:49:18 Lotus Notes FDW?