Si se ha preguntado cómo importar su base de datos utilizando el entorno Python integrado de JMP, aquí hay algunos ejemplos que pueden ayudarlo a comenzar. En el primer ejemplo, estoy importando datos de una base de datos de SQL Server utilizando los módulos pyodbc; en el segundo ejemplo, utilizo el módulo OracleDB. Si está familiarizado con SQL y Python y necesita ejecutar SQL rápidamente sin salir de JMP, creo que disfrutará de estos consejos rápidos.
Nota: Puede utilizar pyodbc con numerosos sistemas de gestión de bases de datos (MySQL, SQL Server, PostgreSQL, etc.). Oracledb solo se puede utilizar para establecer conexiones con bases de datos Oracle.
Prerrequisitos:
- Controlador Unicode ODBC 3.5 compatible con su sistema de gestión de bases de datos (DBMS)
- JMP 18 o superior
- Módulos de Python: Pandas , pyodbc o OracleDB
Ejemplo 1: Uso del módulo 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;'
);
Ejemplo 2: Uso del módulo 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;')