Python Pandas pandas.read_sql函数实例用法

  • Post category:Python

Python Pandas pandas.read_sql函数实例用法

pandas.read_sql 函数是 Pandas 库中的一个用于读取 SQL 数据库数据的函数。该函数可以将 SQL 数据库中的数据读取为 Pandas DataFrame 类型的数据,方便数据处理分析。下面我们来详细讲解 pandas.read_sql 函数的用法。

函数语法

pandas.read_sql(sql, con, index_col=None, coerce_float=True, params=None, parse_dates=None, columns=None, chunksize=None)

参数说明

  • sql:要执行的 SQL 查询语句。
  • con:一个数据库连接对象或字符串,表示连接数据库的URL, 例如DEMO.sqlite3。
  • index_col:用作返回 DataFrame 的索引的列名或列编号,如果不需要索引则设置为 None。
  • coerce_float:将数字字段强制转换为浮点型。
  • params:用于替换 SQL 查询语句中的参数的参数列表,例如 {‘param1’: 1}。
  • parse_dates:应将哪些列解析为日期时间类型。 默认情况下,会尝试解析所有列。
  • columns:只获取指定的列,例如 [‘name’, ‘age’]。
  • chunksize:每次读取的行数。

示例

连接 SQLite 数据库,并查询表数据:

import sqlite3
import pandas as pd

# 创建 SQLite 连接对象
conn = sqlite3.connect('demo.db')

sql = 'SELECT * FROM person'
df = pd.read_sql(sql, conn)

print(df)

在上面的示例中,我们首先通过 sqlite3.connect 函数创建了 SQLite 数据库连接对象。接着,我们执行了一条 SQL 查询语句,将查询结果读取到 Pandas DataFrame 类型的数据中。最后,我们将 DataFrame 打印到控制台上。

连接 MySQL 数据库,并查询表数据:

import pymysql
import pandas as pd

# 创建 MySQL 连接对象
conn = pymysql.connect(
    host='localhost', 
    port=3306,
    user='root',
    password='123456',
    database='demo'
)

sql = 'SELECT * FROM `person`'
df = pd.read_sql(sql, conn)

print(df)

在上面的示例中,我们首先通过 pymysql.connect 函数创建了 MySQL 数据库连接对象。接着,我们执行了一条 SQL 查询语句,将查询结果读取到 Pandas DataFrame 类型的数据中。最后,我们将 DataFrame 打印到控制台上。

通过以上两个示例,我们可以看出 pandas.read_sql 函数的用法非常简单。我们只需要传入要执行的 SQL 查询语句以及数据库连接对象或字符串即可读取数据库数据。同时,我们也可以通过设置其他参数参数来控制查询结果的处理方式,使其更适合我们的数据处理需求。