Bagikan melalui


Menyisipkan data dari tabel SQL ke dalam dataframe pandas Python

Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance

Artikel ini menjelaskan cara menyisipkan data SQL ke dalam kerangka data pandas menggunakan paket pyodbc di Python. Baris dan kolom data yang terkandung dalam dataframe dapat digunakan untuk eksplorasi data lebih lanjut.

Prasyarat

Memverifikasi database yang dipulihkan

Anda bisa memverifikasi bahwa database yang dipulihkan ada dengan mengkueri tabel Person.CountryRegion :

USE AdventureWorks;
SELECT * FROM Person.CountryRegion;

Memasang paket Python

Unduh dan Instal Azure Data Studio.

Instal paket Python berikut:

  • pyodbc
  • pandas

Untuk menginstal paket ini:

  1. Di buku catatan Azure Data Studio Anda, pilih Kelola Paket.
  2. Di panel Kelola Paket , pilih tab Tambahkan baru .
  3. Untuk setiap paket berikut, masukkan nama paket, klik Cari, lalu klik Instal.

Menyisipkan data

Gunakan skrip berikut untuk memilih data dari tabel Person.CountryRegion dan sisipkan ke dalam dataframe. Edit variabel string koneksi: 'server', 'database', 'username', dan 'password' untuk menyambungkan ke SQL.

Untuk membuat buku catatan baru:

  1. Di Azure Data Studio, pilih File, pilih Buku Catatan Baru.
  2. Di notebook, pilih kernel Python3, pilih +code.
  3. Tempel kode di buku catatan, pilih Jalankan Semua.
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))

Hasil

print Perintah dalam skrip sebelumnya menampilkan baris data dari pandas dataframe 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

Langkah berikutnya