РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
326 of 687 menu

Функция read_sql

Функция read_sql из модуля pandas выполняет SQL-запрос к подключённой базе данных и возвращает результат в виде DataFrame. В первом параметре передаётся строка с SQL-запросом или имя таблицы, во втором - объект соединения с базой данных. Дополнительно можно указать индекс, типы столбцов и другие параметры.

Синтаксис

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

Пример

Давайте выполним простой запрос к базе данных SQLite и получим результат:

import pandas as pd import sqlite3 conn = sqlite3.connect(':memory:') conn.execute('CREATE TABLE test (a INTEGER, b INTEGER)') conn.execute('INSERT INTO test VALUES (1, 10), (2, 20), (3, 30)') conn.commit() df = pd.read_sql('SELECT * FROM test', conn) print(df)

Результат выполнения кода:

a b 0 1 10 1 2 20 2 3 30

Пример

Укажем столбец для индекса с помощью параметра index_col:

import pandas as pd import sqlite3 conn = sqlite3.connect(':memory:') conn.execute('CREATE TABLE users (id INTEGER, name TEXT)') conn.execute('INSERT INTO users VALUES (1, "alice"), (2, "bob")') conn.commit() df = pd.read_sql('SELECT * FROM users', conn, index_col='id') print(df)

Результат выполнения кода:

name id 1 alice 2 bob

Пример

Можно передать параметры в запрос, чтобы избежать SQL-инъекций:

import pandas as pd import sqlite3 conn = sqlite3.connect(':memory:') conn.execute('CREATE TABLE data (a INTEGER, b INTEGER)') conn.execute('INSERT INTO data VALUES (1, 10), (2, 20), (3, 30)') conn.commit() query = 'SELECT * FROM data WHERE a > ?' df = pd.read_sql(query, conn, params=(1,)) print(df)

Результат выполнения кода:

a b 0 2 20 1 3 30

Смотрите также

  • функция read_sql_query,
    которая выполняет SQL-запрос и возвращает DataFrame
  • функция read_sql_table,
    которая читает целую таблицу из базы данных
  • функция read_csv,
    которая читает данные из CSV-файла
  • функция read_json,
    которая читает данные из JSON-строки или файла
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить