SQL表格转换为Pandas数据框架

3
我正在使用 Psycopg2 库连接 PostgreSQL 数据库。 我想获取 SQL 表并将其转换为 pd.DataFrame。 因此,我需要将 SQL 表转换为像 {col1:[val1,val2], col2:[val1,val2]} 这样的字典,但是当我使用 SELECT * FROM tablename 时,它不包括列名。 我不想直接使用 pandas 函数连接到 SQL。 如果您知道如何获取 SQL 表作为上述字典,我会很高兴您能写出来。
提前感谢您的帮助。
1个回答

3

执行查询后,您可以从光标中提取列名,并在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")

谢谢。我会试一下。 我想我不需要将其转化为字典,因为我需要的是数据框。字典是不必要的。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接