首页 >数据库 >mysql教程 >如何将 SQL 查询结果转换为 Pandas DataFrame?

如何将 SQL 查询结果转换为 Pandas DataFrame?

Barbara Streisand
Barbara Streisand原创
2024-12-04 20:15:13501浏览

How to Convert SQL Query Results to a Pandas DataFrame?

将 SQL 查询结果转换为 Pandas 数据结构

简介

方便数据分析和操作时,通常需要将从 SQL 数据库检索的数据转换为 Pandas 数据结构。本文将指导您完成实现此目标的过程。

识别返回类型

提供的代码中的connection.execute()函数返回一个SQLAlchemy ResultProxy。该对象将查询结果表示为可迭代的元组,其中每个元组对应于结果中的一行。

转换为 Pandas 数据结构

转换将结果元组放入 Pandas DataFrame 中,可以使用 DataFrame 构造函数:

import pandas as pd

df = pd.DataFrame(resoverall.fetchall())

fetchall() 方法返回表示查询结果的元组列表。 DataFrame 构造函数将此列表作为参数,并生成一个以元组为行的 DataFrame。

设置列名称

默认情况下,DataFrame 将使用通用列名称如“0”、“1”等。要分配有意义的列名称,请使用 columns 属性:

df.columns = resoverall.keys()

The resoverall.keys() 从查询结果中返回列名列表。将此列表分配给 DataFrame.columns 属性可设置列名称。

替代类型转换

要另外解析和转换列类型以匹配 SQL 架构,您可以使用以下方法:

import numpy as np
from sqlalchemy import types

df = pd.DataFrame(resoverall.fetchall())
for column in resoverall.keys():
    df[column] = df[column].astype(types.type_map[resoverall.scalar_types[column]])

此方法确保DataFrame列类型与SQL一致架构。

以上是如何将 SQL 查询结果转换为 Pandas DataFrame?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn