Si vous vous demandez comment importer votre base de données à l'aide de l'environnement Python intégré de JMP, voici quelques exemples qui peuvent vous aider à démarrer. Dans le premier exemple, j'importe des données à partir d'une base de données SQL Server à l'aide des modules pyodbc ; j'utilise le module OracleDB dans le deuxième exemple. Si vous connaissez SQL et Python et que vous devez exécuter rapidement SQL sans quitter JMP, je pense que vous apprécierez ces conseils rapides.
Remarque : vous pouvez utiliser pyodbc avec de nombreux systèmes de gestion de bases de données (MySQL, SQL Server, PostgreSQL, etc.). Oracledb ne peut être utilisé que pour établir des connexions à des bases de données Oracle.
Pré-requis :
- Pilote Unicode ODBC 3.5 compatible avec votre système de gestion de base de données (SGBD)
- JMP 18 ou supérieur
- Modules Python : Pandas , pyodbc ou OracleDB
Exemple 1 : Utilisation du module Python pyodbc
#Imports the jmp modules jmp. Pandas and jmputils.
import jmp
import jmputils
import pandas as pd
#Installs pyodbc andpandas if they have not been installed before.
#jmputils.jpip('install', 'pyodbc pandas')
#import the module pyodbc.
import pyodbc
#Defines variables for the driver's ODBC parameters.
drv = ''
db = ''
server = ''
uid = ''
pw = ''
#Passes the defined variables to the connection string parameters and establishes a connection.
cnxn = pyodbc.connect('DRIVER={%s};Server=%s;Database=%s;uid=%s;pwd=%s' % (drv, server, db, uid, pw))
#Defines a variable for the SQL query.
query = 'SELECT * FROM dbo.tablename'
#Executes the SQL query and prints the DataFrame df.
cursor = cnxn.cursor()
df = pd.read_sql(query, con=cnxn)
print (df)
cnxn.close()
#Run jmp.run_JSL to get the DataFrame 'df'.
jmp.run_jsl('python get (df)<< newdataview;'
);
Exemple 2 : Utilisation du module Python Oracledb
#Imports the jmp modules jmp and jmputils.
import jmp
import jmputils
import pandas as pd
#Installs oracledb and pandas if they have not been installed before.
#jmputils.jpip('install', 'oracledb pandas')
#Imports the module oracledb.
import oracledb
#Passes the connection string parameters to the database to establish a connection.
con = oracledb.connect(user='', password='', service_name='', host='', port='')
#Executes the SQL query and prints it as the list 'res'.
cur = con.cursor()
cur.execute('SELECT * FROM dbo.tablename')
res = cur.fetchall()
for row in res:
print(row)
#Converts the list 'res' to a pandas DataFrame.
df_ora = pd.DataFrame(res)
print(df_ora)
#Runs jmp.run_JSL to get the DataFrame 'df_ora'.
jmp.run_jsl('python get ("df_ora") << newdataview;')