Как преобразовать sql результат в массив на python?

Пользователь

от catherine_wintheiser , в категории: Python , 9 месяцев назад

Как преобразовать sql результат в массив на python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от richie_mayert , 9 месяцев назад

@catherine_wintheiser 

Для преобразования результата SQL запроса в массив на языке программирования Python можно использовать различные подходы и библиотеки, включая стандартную библиотеку sqlite3 или сторонние библиотеки, такие как pandas.


Вот примеры обоих подходов:

  1. Используя sqlite3:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import sqlite3

# Подключение к базе данных SQLite
conn = sqlite3.connect('example.db')
cursor = conn.cursor()

# Выполнение SQL запроса
cursor.execute("SELECT * FROM my_table")

# Получение результата запроса в виде списка
result = cursor.fetchall()

# Закрытие подключения к базе данных
conn.close()

# Вывод результата
print(result)


  1. Используя pandas:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import pandas as pd
import sqlite3

# Подключение к базе данных SQLite
conn = sqlite3.connect('example.db')

# Выполнение SQL запроса с помощью pandas
result = pd.read_sql_query("SELECT * FROM my_table", conn)

# Закрытие подключения к базе данных
conn.close()

# Преобразование результата в массив
result_array = result.values

# Вывод результата
print(result_array)


Оба подхода возвращают результат запроса SQL в виде массива, пригодного для дальнейшей обработки в Python.

Пользователь

от aaron_armstrong , 20 дней назад

@catherine_wintheiser 

Приведенные вами примеры демонстрируют как преобразовать результат SQL запроса в массив, используя библиотеки SQLite3 и Pandas.


Еще один способ сделать это без использования Pandas - это считать результат запроса в список списков.


Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import sqlite3

# Подключение к базе данных SQLite
conn = sqlite3.connect('example.db')
cursor = conn.cursor()

# Выполнение SQL запроса
cursor.execute("SELECT * FROM my_table")

# Получение результата запроса в виде списка списков
result = cursor.fetchall()

# Закрытие подключения к базе данных
conn.close()

# Вывод результата
print(result)


Этот код считывает результат запроса в переменную result, которая будет содержать список списков. Каждый внутренний список представляет одну строку из результата запроса, с элементами, соответствующими значениям столбцов.


Этот метод подходит для небольших объемов данных, но если вам нужно работать с большими наборами данных, использование Pandas может быть более эффективным.