Menyisipkan data dari tabel SQL ke dalam dataframe pandas Python
Berlaku untuk: SQL Server
Azure 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
SQL Server Management Studio untuk memulihkan database sampel ke Azure SQL Managed Instance.
Azure Data Studio. Untuk menginstal, lihat Azure Data Studio.
Pulihkan database sampel untuk mendapatkan data sampel yang digunakan dalam artikel ini.
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:
- Di buku catatan Azure Data Studio Anda, pilih Kelola Paket.
- Di panel Kelola Paket , pilih tab Tambahkan baru .
- 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:
- Di Azure Data Studio, pilih File, pilih Buku Catatan Baru.
- Di notebook, pilih kernel Python3, pilih +code.
- 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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk