使用python pandas从sql表中读取postgres数组

时间:2017-07-20 06:57:26

标签: python postgresql pandas

我试着从像这样的pandas中读取postgres数组:

import pandas as pd
import psycopg2 as pg
con = pg.connect(con_info)
df = pd.read_sql(con,'select my_arr from my_table')
然而,我得到的是一个像这样的字符串:

 my_arr
 ---------
'{1,2,3}'

我可以解析字符串,但我希望在没有任何字符串操作的情况下获取它作为python列表。

感谢。

约瑟夫。

1 个答案:

答案 0 :(得分:0)

找到了一个答案,使用array_to_json解决了这个问题。

Convert PostgreSQL array to PHP array 在python:

df = pd.read_sql(con,'select array_to_json(my_arr) from my_table')

列中的数据类型是python列表。 但是,我想知道是否有更自然的方法来做到这一点。