À 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