Aracılığıyla paylaş


Bir SQL tablosundan Python pandas veri çerçevesine veri ekleme

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

Bu makalede, Python'da pyodbc paketini kullanarak bir pandas veri çerçevesine SQL verilerinin nasıl ekleneceği açıklanmaktadır. Veri çerçevesi içinde yer alan veri satırları ve sütunları, daha fazla veri keşfi için kullanılabilir.

Prerequisites

Geri yüklenen veritabanını doğrulama

Person.CountryRegion tablosunu sorgulayarak geri yüklenen veritabanının mevcut olduğunu doğrulayabilirsiniz:

USE AdventureWorks;
SELECT * FROM Person.CountryRegion;

Python paketlerini yükleme

Azure Data Studio'yu indirin ve yükleyin.

Aşağıdaki Python paketlerini yükleyin:

  • pyodbc
  • pandas

Bu paketleri yüklemek için:

  1. Azure Data Studio not defterinizde Paketleri Yönet'i seçin.
  2. Paketleri Yönet bölmesinde Yeni ekle sekmesini seçin.
  3. Aşağıdaki paketlerin her biri için paket adını girin, Ara'ya ve ardından Yükle'ye tıklayın.

Veri ekleme

Person.CountryRegion tablosundan veri seçmek ve bir veri çerçevesine eklemek için aşağıdaki betiği kullanın. SQL'e bağlanmak için bağlantı dizesi değişkenlerini düzenleyin: 'server', 'database', 'username' ve 'password'.

Yeni not defteri oluşturmak için:

  1. Azure Data Studio'da Dosya'yı ve Yeni Not Defteri'ni seçin.
  2. Not defterinde python3 çekirdeğini seçin ve +code öğesini seçin.
  3. Not defterine kod yapıştırın, Tümünü Çalıştır'ı seçin.
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))

Output

Yukarıdaki print betikteki komut, veri çerçevesindeki pandasveri satırlarını df görüntüler.

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

Sonraki Adımlar