SQL Table to Pandas DataFrame



我使用的是带有Psycopg2库的PostgreSQL数据库。我想获取SQL表并将其转换为pd.DataFrame。因此,我需要将SQL表转换为类似{col1:[val1,val2], col2:[val1,val2]}的dict,但当我使用SELECT * FROM tablename时,它不包括列名。我不想使用panda函数直接连接到SQL。如果你知道如何像我上面提到的那样将SQL表作为字典,我很高兴你能写出来。

感谢您提前提供的帮助。

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

cursor.execute("SELECT * FROM tablename")
columns = [desc[0] for desc in cursor.description]

之后,您应该能够使用columns-参数:将提取的数据解析为具有正确列名的DataFrame

data_df = pd.DataFrame(cursor.fetchall(), columns=columns)

最后使用to_dict:将DataFrame转换为具有列表作为值的字典

data_dict = data_df.to_dict(orient="list")

最新更新