Поделиться через


Вставка данных из таблицы SQL в кадр данных Python pandas

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

В этой статье описывается, как вставить данные SQL в кадр данных pandas с помощью пакета pyodbc в Python. Строки и столбцы, содержащиеся в кадре данных, можно использовать для дальнейшего изучения данных.

Необходимые компоненты

Проверка восстановленной базы данных

Чтобы убедиться, что восстановленная база данных существует, выполните запрос к таблице Person.CountryRegion.

USE AdventureWorks;
SELECT * FROM Person.CountryRegion;

Установка пакетов Python

Скачивание и установка Azure Data Studio.

Установите следующие пакеты Python.

  • pyodbc
  • pandas

Чтобы установить эти пакеты, выполните приведенные ниже действия.

  1. В записной книжке Azure Data Studio выберите Управление пакетами.
  2. В области Управление пакетами выберите вкладку Добавить новые.
  3. Для каждого из следующих пакетов введите имя пакета, щелкните Поиск, а затем Установить.

Вставка данных

Используйте следующий скрипт, чтобы выбрать данные из таблицы Person.CountryRegion и вставить их в кадр данных. Измените переменные строки подключения: 'server', 'database', 'username' и 'password' для подключения к SQL.

Чтобы создать записную книжку:

  1. В Azure Data Studio выберите пункт Файл и Новая записная книжка.
  2. В записной книжке выберите ядро Python3 и нажмите + Код.
  3. Вставьте код в записную книжку и нажмите Запустить все.
import pyodbc
import pandas as pd
# Some other example server values are
# server = 'localhost\sqlexpress' # for a named instance
# server = 'myserver,port' # to specify an alternate port
server = 'servername' 
database = 'AdventureWorks' 
username = 'yourusername' 
password = 'databasename'  
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = cnxn.cursor()
# select 26 rows from SQL table to insert in dataframe.
query = "SELECT [CountryRegionCode], [Name] FROM Person.CountryRegion;"
df = pd.read_sql(query, cnxn)
print(df.head(26))

Выходные данные

Команда print в предыдущем скрипте отображает строки данных из кадра данных pandas df.

CountryRegionCode                 Name
0                 AF          Afghanistan
1                 AL              Albania
2                 DZ              Algeria
3                 AS       American Samoa
4                 AD              Andorra
5                 AO               Angola
6                 AI             Anguilla
7                 AQ           Antarctica
8                 AG  Antigua and Barbuda
9                 AR            Argentina
10                AM              Armenia
11                AW                Aruba
12                AU            Australia
13                AT              Austria
14                AZ           Azerbaijan
15                BS         Bahamas, The
16                BH              Bahrain
17                BD           Bangladesh
18                BB             Barbados
19                BY              Belarus
20                BE              Belgium
21                BZ               Belize
22                BJ                Benin
23                BM              Bermuda
24                BT               Bhutan
25                BO              Bolivia

Следующие шаги