[PYTHON] Extrahieren Sie die Datentabelle von Azure SQL Server mit pyodbc und versuchen Sie, sie als numpy array / pandas dataframe zu definieren

An der Stelle, an der Sie die Datentabelle in Azure SQL Server mit der Python-Bibliothek "pyodbc" abrufen können, können Sie die Tabelle in das "Array" -Format "numpy" oder das "DataFrame" -Format "pandas" konvertieren. Dies ist ein Memo.

Definition von Bibliothek, Umgebung und Funktion finden Sie hier. ,, Bitte beziehen Sie sich zuerst darauf.

Vorbereitung für das Array / DataFrame-Format

## libraries
import pyodbc
import numpy as np
import pandas as pd

## initial setting
##Bitte ändern Sie den eingestellten Wert entsprechend
server = 'abc_server.database.windows.net'  
database = 'abc_database'  
username = 'abc_user'  
password = 'abc_password'  

##Funktionsdefinition
###DB-Verbindung definieren
def db_connection(sv=server, db=database, un=username, pw=password):    
    cnxn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER='+sv+';DATABASE='+db+';UID='+un+';PWD='+ pw)
    return cnxn.cursor()

###SQL ausgeben
def query_output(sql):
    cursor.execute(sql)
    row = cursor.fetchone()
    while row:  
        print row[0]  
        row = cursor.fetchone()

→ Informationen zur Bedeutung der Einstellungen finden Sie unter Testvoraussetzung ) Etc.

Fall 2: Schieben Sie den Inhalt der Tabelle in den Pandas-Datenrahmen

###DB-Verbindung
cursor = db_connection()

###SQL-Einstellungen
sql = 'select * from SalesLT.Customer;'

cursor.execute(sql)
rows = cursor.fetchall()

Überprüfen Sie den Inhalt von "Zeilen" hier:

>>> rows

[(1, False, u'Mr.', u'Orlando', u'N.', u'Gee', None, u'A Bike Store', u'adventure-works\\pamela0', u'[email protected]', u'245-555-0173', u'L/Rlwxzp4w7RWmEgXX+/A7cXaePEPcp+KwQhl2fJL7w=', u'1KjXYs4=', u'3F5AE95E-B87D-4AED-95B4-C3797AFCB74F', datetime.datetime(2005, 8, 1, 0, 0)),
 (2, False, u'Mr.', u'Keith', None, u'Harris', None, u'Progressive Sports', u'adventure-works\\david8', u'[email protected]', u'170-555-0127', u'YPdtRdvqeAhj6wyxEsFdshBDNXxkCXn+CRgbvJItknw=', u'fs1ZGhY=', u'E552F657-A9AF-4A7D-A645-C429D6E02491', datetime.datetime(2006, 8, 1, 0, 0)),
 (3, False, u'Ms.', u'Donna', u'F.', u'Carreras', None, u'Advanced Bike Components', u'adventure-works\\jillian0', u'[email protected]', u'279-555-0130', u'LNoK27abGQo48gGue3EBV/UrlYSToV0/s87dCRV7uJk=', u'YTNH5Rw=', u'130774B1-DB21-4EF3-98C8-C104BCD6ED6D', datetime.datetime(2005, 9, 1, 0, 0)),
 :

Es ist wie ein Array (wahrscheinlich, um genau zu sein, in Form von "pyodbc.Row") innerhalb des Arrays. Ich werde versuchen, in die Reihe der Numpys einzutauchen

array_format = np.array(rows)
dataframe_format = pd.DataFrame(array_format)

Dann ist das "Array" -Format von "numpy",


>>>array_format
array([[1, False, u'Mr.', ..., u'1KjXYs4=',
        u'3F5AE95E-B87D-4AED-95B4-C3797AFCB74F',
        datetime.datetime(2005, 8, 1, 0, 0)],
       [2, False, u'Mr.', ..., u'fs1ZGhY=',
        u'E552F657-A9AF-4A7D-A645-C429D6E02491',
        datetime.datetime(2006, 8, 1, 0, 0)],
       [3, False, u'Ms.', ..., u'YTNH5Rw=',
        u'130774B1-DB21-4EF3-98C8-C104BCD6ED6D',
        datetime.datetime(2005, 9, 1, 0, 0)],
       ..., 
       [30116, False, u'Ms.', ..., u'HDCU1Bk=',
        u'EC409609-D25D-41B8-9D15-A1AA6E89FC77',
        datetime.datetime(2007, 7, 1, 0, 0)],
       [30117, False, u'Mr.', ..., u'iES3IZA=',
        u'6F08E2FB-1CD3-4F6E-A2E6-385669598B19',
        datetime.datetime(2005, 8, 1, 0, 0)],
       [30118, False, u'Ms.', ..., u'QhHP+y8=',
        u'2495B4EB-FE8B-459E-A1B6-DBA25C04E626',
        datetime.datetime(2006, 9, 1, 0, 0)]], dtype=object)
>>> array_format.shape
(847L, 15L)

Auch der DataFrame von Pandas


>>>dataframe_format.head()
  0      1    2        3     4           5     6                           7   \
0  1  False  Mr.  Orlando    N.         Gee  None                A Bike Store   
1  2  False  Mr.    Keith  None      Harris  None          Progressive Sports   
2  3  False  Ms.    Donna    F.    Carreras  None    Advanced Bike Components   
3  4  False  Ms.    Janet    M.       Gates  None       Modular Cycle Systems   
4  5  False  Mr.     Lucy  None  Harrington  None  Metropolitan Sports Supply   

                         8                             9             10  \
0   adventure-works\pamela0  [email protected]  245-555-0173   
1    adventure-works\david8    [email protected]  170-555-0127   
2  adventure-works\jillian0    [email protected]  279-555-0130   
3  adventure-works\jillian0    [email protected]  710-555-0173   
4      adventure-works\shu0     [email protected]  828-555-0186   

                                             11        12  \
0  L/Rlwxzp4w7RWmEgXX+/A7cXaePEPcp+KwQhl2fJL7w=  1KjXYs4=   
1  YPdtRdvqeAhj6wyxEsFdshBDNXxkCXn+CRgbvJItknw=  fs1ZGhY=   
2  LNoK27abGQo48gGue3EBV/UrlYSToV0/s87dCRV7uJk=  YTNH5Rw=   
3  ElzTpSNbUW1Ut+L5cWlfR7MF6nBZia8WpmGaQPjLOJA=  nm7D5e4=   
4  KJqV15wsX3PG8TS5GSddp6LFFVdd3CoRftZM/tP0+R4=  cNFKU4w=   

                                     13                   14  
0  3F5AE95E-B87D-4AED-95B4-C3797AFCB74F  2005-08-01 00:00:00  
1  E552F657-A9AF-4A7D-A645-C429D6E02491  2006-08-01 00:00:00  
2  130774B1-DB21-4EF3-98C8-C104BCD6ED6D  2005-09-01 00:00:00  
3  FF862851-1DAA-4044-BE7C-3E85583C054D  2006-07-01 00:00:00  
4  83905BDC-6F5E-4F71-B162-C98DA069F38A  2006-09-01 00:00:00  

>>> dataframe_format.shape
(847, 15)

Es sieht so aus, als wäre es okay.

Reference

Recommended Posts

Extrahieren Sie die Datentabelle von Azure SQL Server mit pyodbc und versuchen Sie, sie als numpy array / pandas dataframe zu definieren
Versuchen Sie, die Datentabelle von Azure SQL Server mit pyodbc zu extrahieren
Versuchen Sie, Merkmale von Sensordaten mit CNN zu extrahieren
[Persönliches Memo] Holen Sie sich Daten im Web und machen Sie daraus einen DataFrame
Versuchen Sie, mit Pandas in ordentliche Daten umzuwandeln
(Tagebuch 1) Erstellen, Durchsuchen und Registrieren von Daten in der SQL-Datenbank des Microsoft Azure-Dienstes mit Python
Versuchen Sie, Doujin-Musikdaten mit Pandas zu aggregieren
Versuchen Sie, das Dokument der Azure-Dokumentdatenbank mit pydocumentdb zu extrahieren
Versuchen Sie, mit matplotlib aus den Daten von "Schedule-kun" eine Kampfaufzeichnungstabelle zu erstellen.
Ich wollte nur die Daten des gewünschten Datums und der gewünschten Uhrzeit mit Django extrahieren
Es ist einfach, SQL mit Python auszuführen und das Ergebnis in Excel auszugeben
So extrahieren Sie Nullwerte und Nicht-Nullwerte mit Pandas
So extrahieren Sie mit Pandas Daten, denen der Wert nan nicht fehlt
Extrahieren Sie den Maximalwert mit Pandas und ändern Sie diesen Wert
So extrahieren Sie mit Pandas Daten, denen der Wert nan nicht fehlt
Geben Sie die Bilddaten mit Flask of Python zurück und zeichnen Sie sie in das Canvas-Element von HTML
Versuchen Sie es mit GUI, PyQt in Python
Greifen Sie mit python27 / pyodbc auf dem Container auf den SQL Server des Hosts zu
Kombinieren Sie Listen zu einem DataFrame mit Pandas
Erstellen Sie eine Python-Umgebung und übertragen Sie Daten auf den Server
Extrahieren Sie Array-Elemente und -Indizes in absteigender Reihenfolge mit numpy
Tokyo Corona: Machen Sie mit der Exponentialfunktion kurve_fit eine einfache Vorhersage aus offenen Daten
[Python] So fügen Sie einer Tabelle Zeilen und Spalten hinzu (pandas DataFrame)
Versuchen Sie, den kürzesten Weg mit Python + NetworkX + Social Data zu lösen
Lesen Sie die Daten des NFC-Lesegeräts, das mit Python an Raspberry Pi 3 angeschlossen ist, und senden Sie sie mit OSC an openFrameworks
Laden Sie Daten mit einem Befehl und einer Aktualisierung auf s3 von aws hoch und löschen Sie die verwendeten Daten (unterwegs).