À partir de l'endroit où vous pouvez extraire la table de données dans Azure SQL Server avec la bibliothèque python appelée pyodbc
, vous pouvez convertir la table au format ʻarray de
numpy ou au format
DataFrame de
pandas`. Ceci est un mémo.
→ La définition de la bibliothèque, de l'environnement et de la fonction est écrite ici. ,, Veuillez donc vous y référer d'abord.
## libraries
import pyodbc
import numpy as np
import pandas as pd
## initial setting
##Veuillez modifier la valeur définie comme il convient
server = 'abc_server.database.windows.net'
database = 'abc_database'
username = 'abc_user'
password = 'abc_password'
##Définition des fonctions
###Définir la connexion DB
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()
###Problème SQL
def query_output(sql):
cursor.execute(sql)
row = cursor.fetchone()
while row:
print row[0]
row = cursor.fetchone()
→ Pour la signification des paramètres, voir Trial Premise Etc.
###Connexion DB
cursor = db_connection()
###Paramètres SQL
sql = 'select * from SalesLT.Customer;'
cursor.execute(sql)
rows = cursor.fetchall()
Vérifiez le contenu des lignes
ici:
>>> 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)),
:
C'est comme un tableau (probablement, pour être exact, sous la forme de pyodbc.Row
) à l'intérieur du tableau.
J'essaierai de plonger dans le tableau de numpy
array_format = np.array(rows)
dataframe_format = pd.DataFrame(array_format)
Alors le format numpy
ʻarray` est ...
>>>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)
En outre, le DataFrame
de 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)
On dirait que ça va.
Reference
Recommended Posts