Python SQL表到数据帧

Python SQL表到数据帧,python,sql,pandas,postgresql,Python,Sql,Pandas,Postgresql,我正在使用带有Psycopg2库的PostgreSQL数据库。 我想获取SQL表并将其转换为pd.DataFrame。 所以我需要将SQL表转换成一个dict,比如{col1:[val1,val2],col2:[val1,val2]},但当我使用SELECT*fromtablename时,它不包括列名。 我不想使用pandas函数直接连接到SQL。 如果您知道如何像我上面提到的那样将SQL表作为字典,我很高兴您能够编写 提前感谢您的帮助。执行查询后,您可以从-属性中的光标提取列名: cursor

我正在使用带有Psycopg2库的PostgreSQL数据库。 我想获取SQL表并将其转换为pd.DataFrame。 所以我需要将SQL表转换成一个dict,比如
{col1:[val1,val2],col2:[val1,val2]}
,但当我使用
SELECT*fromtablename
时,它不包括列名。 我不想使用pandas函数直接连接到SQL。 如果您知道如何像我上面提到的那样将SQL表作为字典,我很高兴您能够编写


提前感谢您的帮助。

执行查询后,您可以从-属性中的光标提取列名:

cursor.execute(“从tablename中选择*)
columns=[desc[0]表示游标中的desc.description]
之后,您应该能够使用-参数将提取的数据解析为具有正确列名的数据帧:

data\u df=pd.DataFrame(cursor.fetchall(),columns=columns)
最后,使用以下方法将DataFrame转换为以列表作为值的字典:

data\u dict=data\u df.to\u dict(orient=“list”)

谢谢。我试试看。我想我不需要把它转换成字典,因为我需要数据帧。字典是不必要的。